您的位置:首页 > 移动开发 > Android开发

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里面,以上就是代码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: