为了账号安全,请及时绑定邮箱和手机立即绑定

项目中的技术积累(一)

标签:
Android

1.依赖注入ButterKnife的使用:

  导入 在app下的build.gradle中配置     compile 'com.jakewharton:butterknife:7.0.1'

  在activity中配置:

  在onCreat方法中,  setContentView 方法之后初始化:

  ButterKnife.bind(this);

   使用:

    @Bind(R.id.tv_title)

    TextView tvTitle;

    点击事件:

    @OnClick({R.id.tv_title})

  public void onClick(View V){

     switch(v.getId()){

      case R.id.tv_title : 

     //点击事件

     break;

}

}

2.保存用户信息到本地(数据库):

StoreMember {

    String = StoreMember () {

    }

    StoreMember () {
        (== ) {
            = StoreMember()}
        }

    (Context contextUser memberInfo) {//以文件io流保存下来

        {
            FileOutputStream outStream = context.openFileOutput(Context.)ObjectOutputStream oos = ObjectOutputStream(outStream)oos.writeObject(memberInfo)oos.flush()oos.close()} (IOException e) {
            e.printStackTrace()}
    }
    User (Context context) {//获取信息
        User memberInfo = FileInputStream fis = ObjectInputStream ois = {
            File file = File(context.getFilesDir())(file.exists()) {
                fis = context.openFileInput()ois = ObjectInputStream(fis)memberInfo = (User) ois.readObject()fis.close()ois.close()}{
                }

        } (Exception e) {
            }
        memberInfo}

    (Context context){//检查是否存在
        User user = getMember(context)(user == ){
            }{
            }
    }
}

 在activity中的使用:

 初始化:

private User user;         user = StoreMember.getInstance().getMember(context);

取出来 user.getId();

存进去:user.setId("XXXXXX");

   StoreMember.getInstance().saveMember(this,user);//保存的方法

3.下拉刷新组件:

 SwipeToLoadLayout

 导入:在app下的build.gradle中配置:    compile 'com.github.Aspsine:SwipeToLoadLayout:1.0.3'

 xml中:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:background="@color/bg_gray"
   android:orientation="vertical">

   <include layout="@layout/base_title">

   </include>

   <com.aspsine.swipetoloadlayout.SwipeToLoadLayout
       android:id="@+id/swipeToLoadLayout"
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       app:refresh_complete_to_default_scrolling_duration="500"
       app:swipe_style="scale">

       <include
           android:id="@id/swipe_refresh_header"
           layout="@layout/layout_twitter_header" />//头部刷新的布局

       <!--<LinearLayout-->
           <!--android:id=""-->
           <!--android:layout_width="match_parent"-->
           <!--android:layout_height="match_parent"-->
           <!--android:orientation="vertical">-->

           <android.support.v7.widget.RecyclerView
               android:id="@+id/swipe_target"
               android:layout_width="match_parent"
               android:clipToPadding="false"
               android:layout_height="match_parent" />//定义刷新的布局

       <!--</LinearLayout>-->

       <include
           android:id="@id/swipe_load_more_footer"
           layout="@layout/layout_classic_footer" />//底部的布局

   </com.aspsine.swipetoloadlayout.SwipeToLoadLayout>


</LinearLayout>

其中的布局id @+id/swipeToLoadLayout,刷新头部id @id/swipe_refresh_header,刷新组件的id @+id/swipe_target,底部布局的id @id/swipe_load_more_footer这些都是写死的,不允许更改。

acticity中的使用:

初始化: @Bind(R.id.swipeToLoadLayout)

        SwipeToLoadLayout swipeToLoadLayout;

        swipeToLoadLayout.setRefreshEnabled(false);//是否能够下拉刷新

        swipeToLoadLayout.setLoadMoreEnabled(true);//是否能上拉加载

        swipeToLoadLayout.setOnLoadMoreListener(this);//设置刷新事件

() { //加载更多

        ++getData()}

() {//刷新数据
    .clear()= getData()}

        在getData方法里 要配置        swipeToLoadLayout.setLoadingMore(false);//清空加载状态

                                                  swipeToLoadLayout.setRefreshing(false);//清空刷新状态


原文链接:http://www.apkbus.com/blog-478081-77307.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消