Android TextView 两端对齐

在项目中遇到项目要求在描述中进行两端对齐,而我们的 TextView 是不支持两端对齐的
要做到两端对齐,其实还是有些小 trick 的
justify_in_android_image_1.png

阅读更多

Android 组件化开发

Android 组件化开发

在项目的开发中,业务模块越来越多,代码量越来越多,编译构建的时间也越来越长,尝试将项目进行组件化开发。

所谓组件化,就是将各个业务模块解耦,在开发的时候将每个业务模块当做单独的 application 开发,在开发完毕后打包成 aar 或者以 module 的形式依赖到主 application 中。

阅读更多

Retrofit with okhttp

封装接口

首先,我们将将请求api封装成一个接口(interface), Retrofit 通过这个定义的interface生成一个具体的实现。
interface中进行接口api的定义,比如

1
2
3
4
    public interface RepoService {
@GET("/users/{user}/repos")
Call<ResponseBody> listRepo(@Path("user") String user);
}
阅读更多

状态栏 Status Bar

所谓 沉浸式状态栏变色状态栏 之分
按照文档,沉浸式指的是在一些阅读应用或者视频播放应用中进行全屏,隐藏 StatusBar NavigationBar 并在手指触摸手机顶部或者底部时可以唤出这两者的行为

阅读更多

使用 AsyncTask 进行异步加载 ListView 图文并排

##一些 AsyncTask 的知识

  • AsyncTask<Params,Progress,Results>是一个抽象类,通常用于被继承需要指定三个参数

    1
    2
    3
    Params: 启动任务时输入参数的类型
    Progress: 后台任务进行中返回进度值的类型
    Results: 后台任务执行完毕后返回结果的类型
  • 必须重写 doInBackground() 方法 这是异步执行后台线程任务将要完成的任务 在这里操作耗时操作

  • onPreExecute() 执行后台耗时操作前被调用,用来进行初始化操作

  • onPostExecute() 当doInBackground() 方法完成后会自动调用这个方法,并将 doInBackground() 方法中返回的值传递给该方法

  • onProgressUpdate() 在doInBackground() 方法中调用publishProgress() 方法更新任务的执行进度后就会调用该方法

阅读更多

解析json数据

解析从服务器返回的json数据
这阵子在做一个天气预报的demo,使用百度天气的api获取json数据进行解析。json数据如下

阅读更多