android从放弃到精通 第六天 excellent
2017-12-11 16:15
302 查看
今天有是美好和十分充实的一天,很多时候都这么感觉,哈哈哈,那么游戏开始了= =
看了这门课程我越来越搞不懂是什么时候要用handler兄弟进行操作了= =,网站的get和post请求用不到吗...真的是有点颠覆我的三观了= =
6-1微信精选-列表分布实现
在以前的基础上,添加了一个图片的解析的操作,其余之外只是一个很标准的listview
饿,这才发现我之前都搞错了,原来这一块才是wechat的内容= =,前面根据wechat的翻译意思来看还以为wechat就是智能机器人和你聊天的具体界面呢= =,玩脱了
微信精选列表还是需要第三方数据,聚合数据
get的参数只需要传入key,对于返回的数据,依然的结构是result-list-id,title,source,firstimg,mark,url
感觉已经完全忘了怎么显示返回按钮= =,等会看看回忆回忆
第一节总体进行的是界面的设计以及adapter的定义,这些感觉都是比较基础和死板的东西,这里就直接跳过就行了.先记录一下接口的url吧:https://www.jvhe.cn/docs/api/id/147
关于json这方面,我感觉还是按照他的来吧,方法名为parsingJson
6-3微信精选-WebView网页详情处理
希望点击列表之后执行跳转到目标网页的功能
对列表设置列表按钮点击触发事件
新建webviewactivity
终于来了,关于标题栏的设置的问题
//设置标题
getSupportActionBar().setTitle(title)
在显示网页的情况需要添加一个加载栏,用于显示加载的情况,在进去的时候显示progressbar,然后当web加载网页结束之后,让其消失
//支持js
mWibView.getSettings().setJavaScriptEnabled(true);
//支持缩放
mWebView.getSettings().setSupportZoom(true);
mWebView.getSettings().setBuiltInZoomControls(true);
//接口回调
mWebView.setWebChromeClient();
//加载网页
mWebView.loadUrl(url);
//本地显示
mWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
view.loadUrl(url);
//我接受这个事件
return true;
}
})
创建一个内部类用于监听网页加载的进度用于隐藏进度条的操作
public class WebViewClient extends WebChromeClient{
@Override
public void onProgressChanged(WebView view, int newProgress) {
if(newProgress == 100) {
mProgressBar.setVisibility(View.GONE);
}
super.onProgressChanged(view, newProgress);
}
}
//快速接口的json数据有毒,我是真的消受不起,一来数据冗长,很难实现在线解析,二来数据过时,无法正常显示网页,综合考虑之后还是打算使用聚合数据,那个返回的json长度很短,而且时效性很高,唯一麻烦的是可恶的聚合数据,只能申请一个免费接口,真的是,我智能去申请一个新的手机号了= =
//另外经过某人的科普,android 5.0以上的版本是不支持http格式进行webview的跳转的,所以要
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LILLIPOP) {
view.loadUrl(request.getUrl().toString());
}
else {
view.loadUrl(request.toString);
}
}
Picasso的使用-美女相册-封装Picasso图片库
//封装picasso
方式:1.加载有默认图片
2.指定大小裁剪图片
3.自定义裁剪图片
//按比例裁剪,矩形
public static class CropSquareTransformation implements Transformation {
@Override
public Bitmap transform(Bitmap source) {
int size = Math.min(source.getWidth(), source.getHeight());
int x = (source.getWidth())/2;
int y = (source.getHeight())/2;
Bitmap result = Bitmap.createBitmap(source, x,y size, size);
if(result != resoure) {
source.recycle();
}
return result;
}
}
//美女社区展示列表,比较重要的模块,是啊,及其重要的模块
//美女社区展示列表
使用gank的接口
美女社区-gridview,GridAdapter-解析接口-Picasso-监听点击事件-提示框-加载图片
使用代码家提供的api:
http://gank.io/api/search/query/listview/category/Android/count/10/page/1
将其接口进行定义
public static final String GIRL_URL = "http://gank.io/api/data/福利/50/1";
好了,进行本来应该昨天进行的这一块的总结吧
这两天比较偷懒,但是感觉总结还是需要仔细地来分析的,好好回忆一下这两天遇到的问题
1.首先最最卡住的是这个photoview的问题,因为作者是通过ImageView来进行图片的承载的,但是官方的文档是通过PhotoView来进行实现的,所以一开始我以为都是兼容的,但是经过次次的试验,终于发现原来是这个问题,真的是...
这里为了总结的完整性给出对应的项目地址
https://github.com/chrisbanes/PhotoView
2.String welfare = null;
try {
welfare = URLEncoder.encode("福利","UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
L.e(StaticClass.GIRL_URL_PART1+welfare+StaticClass.GIRL_URL_PART2);
//进行数据的解析工作
RxVolley.get(StaticClass.GIRL_URL_PART1 + welfare + StaticClass.GIRL_URL_PART2, new HttpCallback() {
@Override
public void onSuccess(String t) {
L.i(t);
parsingJson(t);
}
});
这里当前的版本需要进行编码的转换,不能使用中文直接带入URL里面,以上就是代码
看了这门课程我越来越搞不懂是什么时候要用handler兄弟进行操作了= =,网站的get和post请求用不到吗...真的是有点颠覆我的三观了= =
6-1微信精选-列表分布实现
在以前的基础上,添加了一个图片的解析的操作,其余之外只是一个很标准的listview
饿,这才发现我之前都搞错了,原来这一块才是wechat的内容= =,前面根据wechat的翻译意思来看还以为wechat就是智能机器人和你聊天的具体界面呢= =,玩脱了
微信精选列表还是需要第三方数据,聚合数据
get的参数只需要传入key,对于返回的数据,依然的结构是result-list-id,title,source,firstimg,mark,url
感觉已经完全忘了怎么显示返回按钮= =,等会看看回忆回忆
第一节总体进行的是界面的设计以及adapter的定义,这些感觉都是比较基础和死板的东西,这里就直接跳过就行了.先记录一下接口的url吧:https://www.jvhe.cn/docs/api/id/147
关于json这方面,我感觉还是按照他的来吧,方法名为parsingJson
6-3微信精选-WebView网页详情处理
希望点击列表之后执行跳转到目标网页的功能
对列表设置列表按钮点击触发事件
新建webviewactivity
终于来了,关于标题栏的设置的问题
//设置标题
getSupportActionBar().setTitle(title)
在显示网页的情况需要添加一个加载栏,用于显示加载的情况,在进去的时候显示progressbar,然后当web加载网页结束之后,让其消失
//支持js
mWibView.getSettings().setJavaScriptEnabled(true);
//支持缩放
mWebView.getSettings().setSupportZoom(true);
mWebView.getSettings().setBuiltInZoomControls(true);
//接口回调
mWebView.setWebChromeClient();
//加载网页
mWebView.loadUrl(url);
//本地显示
mWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
view.loadUrl(url);
//我接受这个事件
return true;
}
})
创建一个内部类用于监听网页加载的进度用于隐藏进度条的操作
public class WebViewClient extends WebChromeClient{
@Override
public void onProgressChanged(WebView view, int newProgress) {
if(newProgress == 100) {
mProgressBar.setVisibility(View.GONE);
}
super.onProgressChanged(view, newProgress);
}
}
//快速接口的json数据有毒,我是真的消受不起,一来数据冗长,很难实现在线解析,二来数据过时,无法正常显示网页,综合考虑之后还是打算使用聚合数据,那个返回的json长度很短,而且时效性很高,唯一麻烦的是可恶的聚合数据,只能申请一个免费接口,真的是,我智能去申请一个新的手机号了= =
//另外经过某人的科普,android 5.0以上的版本是不支持http格式进行webview的跳转的,所以要
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LILLIPOP) {
view.loadUrl(request.getUrl().toString());
}
else {
view.loadUrl(request.toString);
}
}
Picasso的使用-美女相册-封装Picasso图片库
//封装picasso
方式:1.加载有默认图片
2.指定大小裁剪图片
3.自定义裁剪图片
//按比例裁剪,矩形
public static class CropSquareTransformation implements Transformation {
@Override
public Bitmap transform(Bitmap source) {
int size = Math.min(source.getWidth(), source.getHeight());
int x = (source.getWidth())/2;
int y = (source.getHeight())/2;
Bitmap result = Bitmap.createBitmap(source, x,y size, size);
if(result != resoure) {
source.recycle();
}
return result;
}
}
//美女社区展示列表,比较重要的模块,是啊,及其重要的模块
//美女社区展示列表
使用gank的接口
美女社区-gridview,GridAdapter-解析接口-Picasso-监听点击事件-提示框-加载图片
使用代码家提供的api:
http://gank.io/api/search/query/listview/category/Android/count/10/page/1
将其接口进行定义
public static final String GIRL_URL = "http://gank.io/api/data/福利/50/1";
好了,进行本来应该昨天进行的这一块的总结吧
这两天比较偷懒,但是感觉总结还是需要仔细地来分析的,好好回忆一下这两天遇到的问题
1.首先最最卡住的是这个photoview的问题,因为作者是通过ImageView来进行图片的承载的,但是官方的文档是通过PhotoView来进行实现的,所以一开始我以为都是兼容的,但是经过次次的试验,终于发现原来是这个问题,真的是...
这里为了总结的完整性给出对应的项目地址
https://github.com/chrisbanes/PhotoView
2.String welfare = null;
try {
welfare = URLEncoder.encode("福利","UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
L.e(StaticClass.GIRL_URL_PART1+welfare+StaticClass.GIRL_URL_PART2);
//进行数据的解析工作
RxVolley.get(StaticClass.GIRL_URL_PART1 + welfare + StaticClass.GIRL_URL_PART2, new HttpCallback() {
@Override
public void onSuccess(String t) {
L.i(t);
parsingJson(t);
}
});
这里当前的版本需要进行编码的转换,不能使用中文直接带入URL里面,以上就是代码
相关文章推荐
- android从放弃到精通 第五天 excellent
- Android从放弃到精通 第二天 我还好
- android从放弃到精通 第八天 freedom
- android从放弃到精通 第九天 勿忘初心
- android从放弃到精通 第四天 happy
- android从放弃到精通第11天 勿忘初心
- android从放弃到精通 第七天 tomorrow
- android从放弃到精通 第12天 勿忘初心
- android从放弃到精通 第三天 我还活着
- android从放弃到精通第10天 勿忘初心
- android从放弃到精通 第一天 重拾项目开发
- Android开发从入门到放弃(7)使用GridLayout
- Android高手应该精通哪些内容?
- 实现PHP服务器+Android客户端(Retrofit+RxJava)第六天推送的实现
- Android菜鸟的成长笔记(1)——Android开发环境搭建从入门到精通
- Android从入门到精通标配四阶段
- 【Android 应用开发】Android 开发 之 JNI入门 - NDK从入门到精通
- 十五天精通WCF——第六天 你必须要了解的3种通信模式
- Android.mk入门到精通(001)——Android.mk 文件语法详解:神文
- Android高手应该精通哪些内容?