phone


package com.example.dome2;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.view.Gravity;
import android.view.MenuItem;
import android.view.View;
import android.widget.Toast;

import com.example.dome2.call.CallLogFragment;
import com.example.dome2.music.MusicFragment;
import com.example.dome2.net.NetFragment;
import com.example.dome2.sms.SMSFragment;

public class MainActivity extends AppCompatActivity {
    private Toolbar toolbar;
    private DrawerLayout drawerLayout;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        toolbar = (Toolbar) findViewById(R.id.toolbar);
        drawerLayout = (DrawerLayout) findViewById(R.id.drawerlayout);
        toolbar.inflateMenu(R.menu.menu);   //添加选项菜单到Toolbar        toolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                drawerLayout.openDrawer(Gravity.LEFT);   //弹出左边的抽屉
            }
        });
//        Toolbar上的选项菜单添加点击事件
        toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem item) {
                switch (item.getItemId()) {
                    case R.id.search:
                        Toast.makeText(MainActivity.this,"您点击了搜索按钮!!",Toast.LENGTH_LONG).show();
                        break;
                }
                return false;
            }
        });
//         1。获取碎片管理者
        FragmentManager manager = getFragmentManager();
//      2.获取事物
        FragmentTransaction transaction = manager.beginTransaction();
//       3.替换布局为需要的Fragment对象
        transaction.replace(R.id.layout,new CallLogFragment());
        transaction.commit();   //提交事物

    }
//  Fragment加载到Activity当中的方法,动态加载法
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.btn_call:
//                1。获取碎片管理者
                FragmentManager manager = getFragmentManager();
//                2.获取事物
                FragmentTransaction transaction = manager.beginTransaction();
//                3.
                transaction.replace(R.id.layout,new CallLogFragment());
                transaction.commit();
//                关闭抽屉
                drawerLayout.closeDrawers();
                break;
            case R.id.btn_sms:
                FragmentManager manager1 = getFragmentManager();
                FragmentTransaction transaction1 = manager1.beginTransaction();
                transaction1.replace(R.id.layout,new SMSFragment());
                transaction1.commit();
                // 关闭抽屉
                drawerLayout.closeDrawers();
                break;
            case R.id.btn_music:
                FragmentManager manager2 = getFragmentManager();
                FragmentTransaction transaction2 = manager2.beginTransaction();
                transaction2.replace(R.id.layout,new MusicFragment());
                transaction2.commit();
//                关闭抽屉
                drawerLayout.closeDrawers();
                break;
            case R.id.btn_net:
                FragmentManager manager3 = getFragmentManager();
                FragmentTransaction transaction3 = manager3.beginTransaction();
                transaction3.replace(R.id.layout,new NetFragment());
                transaction3.commit();
                drawerLayout.closeDrawers();
                break;
        }
    }
}
package com.example.dome2.call;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;


import com.example.dome2.R;

import java.util.List;

/**
 * Created by Administrator on 2018/4/3.
 */

public class CallAdapter extends RecyclerView.Adapter<CallAdapter.CallViewHolder>{
    private Context context;
    private List<CallLogBean>mDatas;

    public CallAdapter(Context context, List<CallLogBean> mDatas) {
        this.context = context;
        this.mDatas = mDatas;
    }

    @Override
    public CallViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(R.layout.item_call_log, parent, false);
        CallViewHolder holder = new CallViewHolder(view);
        return holder;
    }

    @Override
    public void onBindViewHolder(CallViewHolder holder, int position) {
        CallLogBean logBean = mDatas.get(position);
        holder.idTv.setText("编号:"+logBean.getId());
        holder.numberTv.setText("电话号码:"+logBean.getNumber());
        holder.timeTv.setText("持续时间:"+logBean.getTime()+"");
    }

    @Override
    public int getItemCount() {
        return mDatas.size();
    }

    class CallViewHolder extends RecyclerView.ViewHolder{
        TextView idTv,numberTv,timeTv;
        public CallViewHolder(View itemView) {
            super(itemView);
            idTv = (TextView) itemView.findViewById(R.id.item_call_id);
            numberTv = (TextView) itemView.findViewById(R.id.item_call_number);
            timeTv = (TextView) itemView.findViewById(R.id.item_call_time);
        }
    }
}
package com.example.dome2.call;

/**
 * Created by Administrator on 2018/4/3.
 */

public class CallLogBean {
    String id;
    String number;
    String time;

    public CallLogBean() {
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    public String getTime() {
        return time;
    }

    public void setTime(String time) {
        this.time = time;
    }

    public CallLogBean(String id, String number, String time) {
        this.id = id;
        this.number = number;
        this.time = time;
    }
}
package com.example.dome2.call;


import android.app.Fragment;
import android.content.ContentResolver;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.CallLog;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;


import com.example.dome2.R;

import java.util.ArrayList;
import java.util.List;

/**
 * A simple {@link Fragment} subclass.
 */
public class CallLogFragment extends Fragment {

    RecyclerView rv ;
    List<CallLogBean>mDatas = new ArrayList<>();   //数据源
    private CallAdapter adapter;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_call_log, container, false);
        rv = (RecyclerView) view.findViewById(R.id.call_rv);
//        1.设置布局管理者
        LinearLayoutManager manager = new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false);
        rv.setLayoutManager(manager);
//        2.数据源
//      3.设置适配器
        adapter = new CallAdapter(getActivity(),mDatas);
        rv.setAdapter(adapter);
//        4.获取本地通话记录
        loadData();
        return view;
    }
    //获取本地通话记录   添加权限  Call_log
    private void loadData() {
//        1.权限  该版本22
//        2.获取ContentResolver对象
        ContentResolver resolver = getActivity().getContentResolver();
//      3.获取Uri地址
        Uri callUri = CallLog.Calls.CONTENT_URI;
//        4.开始执行查询的过程
        Cursor cursor = resolver.query(callUri, null, null, null, null);
//        5.遍历Cursor信息
        while (cursor.moveToNext()) {
            String id = cursor.getString(cursor.getColumnIndex("_id"));
            String number = cursor.getString(cursor.getColumnIndex("number"));
            String time = cursor.getString(cursor.getColumnIndex("duration"));
            CallLogBean bean = new CallLogBean(id, number, time);
//            添加对象到集合当中
            mDatas.add(bean);
        }
//        数据源发生变化,提示adapter更新
        adapter.notifyDataSetChanged();
    }

}
package com.example.dome2.music;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;


import com.example.dome2.R;

import java.util.List;

/**
 * Created by Administrator on 2018/4/4.
 */

public class MusicAdapter extends RecyclerView.Adapter<MusicAdapter.MusicViewHolder>{
    private Context context;
    private List<MusicBean>mDatas;

    public MusicAdapter(Context context, List<MusicBean> mDatas) {
        this.context = context;
        this.mDatas = mDatas;
    }

    @Override
    public MusicViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(R.layout.item_music, parent, false);
        MusicViewHolder holder = new MusicViewHolder(view);
        return holder;
    }

    @Override
    public void onBindViewHolder(MusicViewHolder holder, int position) {
        MusicBean musicBean = mDatas.get(position);
        holder.idTv.setText(musicBean.getId());
        holder.nameTv.setText(musicBean.getName());
        holder.timeTv.setText(musicBean.getDuration());
        holder.singerTv.setText(musicBean.getSinger());
        holder.albumTv.setText(musicBean.getAlbum());
    }

    @Override
    public int getItemCount() {
        return mDatas.size();
    }

    class MusicViewHolder extends RecyclerView.ViewHolder{
        TextView idTv,nameTv,singerTv,albumTv,timeTv;
        public MusicViewHolder(View itemView) {
            super(itemView);
            idTv = (TextView) itemView.findViewById(R.id.item_music_id);
            nameTv = (TextView) itemView.findViewById(R.id.item_music_name);
            singerTv = (TextView) itemView.findViewById(R.id.item_music_singer);
            albumTv = (TextView) itemView.findViewById(R.id.item_music_album);
            timeTv = (TextView) itemView.findViewById(R.id.item_music_time);
        }
    }
}
package com.example.dome2.music;

/**
 * Created by Administrator on 2018/4/4.
 */

public class MusicBean {
    String id;
    String name;
    String singer;
    String album;  //专辑名称
    String duration;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSinger() {
        return singer;
    }

    public void setSinger(String singer) {
        this.singer = singer;
    }

    public String getAlbum() {
        return album;
    }

    public void setAlbum(String album) {
        this.album = album;
    }

    public String getDuration() {
        return duration;
    }

    public void setDuration(String duration) {
        this.duration = duration;
    }

    public MusicBean() {
    }

    public MusicBean(String id, String name, String singer, String album, String duration) {
        this.id = id;
        this.name = name;
        this.singer = singer;
        this.album = album;
        this.duration = duration;
    }
}
package com.example.dome2.music;

import android.content.ContentResolver;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.support.annotation.Nullable;
import android.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;


import com.example.dome2.R;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class MusicFragment extends Fragment {

    RecyclerView rv;
//    数据源
    List<MusicBean>mDatas = new ArrayList<>();
    private MusicAdapter adapter;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_music,container,false);
        rv = (RecyclerView) view.findViewById(R.id.music_rv);
//        布局管理者
        LinearLayoutManager manager = new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false);
        rv.setLayoutManager(manager);
//        数据源
//        设置适配器
        adapter = new MusicAdapter(getActivity(),mDatas);
        rv.setAdapter(adapter);
//        获取本地数据
        loadData();
        return view;
    }

//  获取本地多媒体音乐数据
    private void loadData() {
//            1.添加权限,改版本号22   读取sd卡的权限
//      2.获取到ContentResolver对象
        ContentResolver resolver = getActivity().getContentResolver();
//        3.获取到对应的Uri地址
        Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
//        4.查询指定uri当中的数据
        Cursor cursor = resolver.query(uri, null, null, null, null);
//        5.遍历Cursor
        int id = 1;
        while (cursor.moveToNext()) {
            String name = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DISPLAY_NAME));
            String singer = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST));
            String album = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM));
            long l = cursor.getLong(cursor.getColumnIndex(MediaStore.Audio.Media.DURATION));
            SimpleDateFormat dateFormat = new SimpleDateFormat("mm:ss");
            String time = dateFormat.format(new Date(l));
            String idStr = ""+id;   //编号
            id++;
            MusicBean bean = new MusicBean(idStr, name, singer, album, time);
            mDatas.add(bean);
        }
//        数据源发生变化,提示适配器更新数据
        adapter.notifyDataSetChanged();
    }
}
package com.example.dome2.net;

import java.io.IOException;

import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

/**
 * Created by Administrator on 2018/4/4.
 */

public class HttpUtils {

    public static String getStringContent(String path){
        OkHttpClient client = new OkHttpClient();  //客户端对象
//        获得请求对象
        Request request = new Request.Builder().get().url(path).build();
        try {
//            发起请求,获取响应对象
            Response response = client.newCall(request).execute();
            if (response.isSuccessful()) {
                String s = response.body().string();
                return s;
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
}
package com.example.dome2.net;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.example.dome2.R;
import com.squareup.picasso.Picasso;

import java.util.List;

/**
 * Created by Administrator on 2018/4/4.
 */

public class NetAdapter extends RecyclerView.Adapter<NetAdapter.NetViewHolder>{
    private Context context;
    private List<NetBean.ArticleListBean>mDatas;

    public NetAdapter(Context context, List<NetBean.ArticleListBean> mDatas) {
        this.context = context;
        this.mDatas = mDatas;
    }

    @Override
    public NetViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(R.layout.item_net, parent, false);
        NetViewHolder holder = new NetViewHolder(view);
        return holder;
    }

    @Override
    public void onBindViewHolder(NetViewHolder holder, int position) {
        NetBean.ArticleListBean bean = mDatas.get(position);
        holder.tv.setText(bean.getTitle());
//        显示图片
        Picasso.with(context).load(bean.getImgUrl()).into(holder.iv);
    }

    @Override
    public int getItemCount() {
        return mDatas.size();
    }

    class NetViewHolder extends RecyclerView.ViewHolder{
        ImageView iv;
        TextView tv;
        public NetViewHolder(View itemView) {
            super(itemView);
            iv = (ImageView) itemView.findViewById(R.id.item_net_iv);
            tv = (TextView) itemView.findViewById(R.id.item_net_tv);
        }
    }
}
package com.example.dome2.net;

import java.util.List;

/**
 * Created by Administrator on 2018/4/4.
 */

public class NetBean {

    /**
     * topicRecommendList : [{"headImgUrl":"http://img.moviebase.cn/img/trecommend/2017/10/6629de7abce84b56b916366bc07576c0.jpg@480w","imgUrl":"http://img.moviebase.cn/img/topic/2017/09/b9add2d4aa2d448aa260664e4401a6ba.jpg@!2x.webp","id":"44e9ea47bbd8401590d9a8ae3a3b283b","title":"北美新片","desc":"来自米国院线的最新票房和口碑","isSub":"0","recommendImgUrl":"http://img.moviebase.cn/img/trecommend/2017/10/6629de7abce84b56b916366bc07576c0.jpg@484w","isSubscribe":0,"subscribeNum":2616,"articlesNum":58},{"headImgUrl":"http://img.moviebase.cn/img/topic/2016/10/3a5198f10d074955884995f884ff9403.jpeg@480w","imgUrl":"http://img.moviebase.cn/img/topic/2016/10/6b51c0dbd39641bb90f4058388b24cde.jpeg@!2x.webp","id":"7d99c3dbe09c4d7a94a21708f5db127c","title":"行业观察","desc":"追踪影视热点,揭秘行业内幕","isSub":"0","recommendImgUrl":"http://img.moviebase.cn/img/topic/2016/10/3a5198f10d074955884995f884ff9403.jpeg@484w","isSubscribe":0,"subscribeNum":2809,"articlesNum":582},{"headImgUrl":"http://img.moviebase.cn/img/trecommend/2017/09/93c41c4244c34fa1bc5ce64e3d7c7b36.jpg@480w","imgUrl":"http://img.moviebase.cn/img/topic/2017/09/cf778b9124b24a85ad9ee69d11100618.jpg@!2x.webp","id":"78cc04335e034788a729a4145ff23a97","title":"热映快评","desc":"影院新片,你怎么看?","isSub":"0","recommendImgUrl":"http://img.moviebase.cn/img/trecommend/2017/09/93c41c4244c34fa1bc5ce64e3d7c7b36.jpg@484w","isSubscribe":0,"subscribeNum":2700,"articlesNum":86}]
     * retCode : 0
     * topicSubscribeUpdateNum : 0
     * topicSubscribeUpdateList :
     * requestId : db060f2c-9921-4f39-bece-18dfde06f998
     * retMsg :
     * authorList : [{"id":"0185e0a334e54866bcc423322c02e217","logo":"http://img.moviebase.cn/img/other/2017/09/79174c2dabc94f89983488c09de74e78.jpg@130w","nickname":"手动贩卖机","description":"人不如机器。"},{"id":"4d9e800196cc42b192cec8b914b035f6","logo":"http://img.moviebase.cn/img/other/2017/09/4184a1ba3b12440f86ef6d5ae4cce9aa.jpg@130w","nickname":"坨坨肉","description":"情色电影/Cult片爱好者"},{"id":"6560d69aafc54d45be991b067afca113","logo":"http://img.moviebase.cn/img/other/2017/08/144ad6ffe4bb4d1e940d6291c029aca2.png@130w","nickname":"咸鱼","description":"冷却了CD残了血,在你面前浪来浪去"}]
     * sourceList : [{"id":"19f2cd89ca904eb69e51f7d6e8a1e679","logo":"http://img.moviebase.cn/img/source/2018/02/c526cc8be95944399a68197c778ee1ab.png@130w","nickname":"巴塞电影","description":"资深电影编辑团队每日为你更新最有品、有料、原创、独家的电影资讯和深度解读。公众号:MovieBase"},{"id":"1700d5e8ba284c30bb4474882d10be8f","logo":"http://img.moviebase.cn/img/source/2018/02/ac0e844d31884a29a289b0e00bf2018b.gif","nickname":"枪稿","description":""},{"id":"3bad3b5588af4002a44383453cc2d862","logo":"http://img.moviebase.cn/img/source/2016/02/b0571f61b1a44fb88d83165299adc3d7.jpeg@130w","nickname":"库布里克的小丑","description":"与其赏析电影,不如享受电影。坚持原创,有时很正经,有时很邪恶~"}]
     * articleList : [{"imgUrl":"http://img.moviebase.cn/img/poster/2018/03/bc1df537a3a540228075e050bb20668c.jpg@353w","id":"0677ba5d32d34ed09c66b5bf8c699edb","articleContentUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-0677ba5d32d34ed09c66b5bf8c699edb.html?appVersion=1.7.0","pubDate":1520931197,"praiseCount":"54","title":"人间是否已耳聋?20年后,再听1998华语流行神曲","description":"","sourceName":"巴塞电影","image":"http://img.moviebase.cn/img/poster/2018/03/bc1df537a3a540228075e050bb20668c.jpg@353w","careateDate":1520913387,"articleUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-0677ba5d32d34ed09c66b5bf8c699edb.html?appVersion=1.7.0","sourceId":"19f2cd89ca904eb69e51f7d6e8a1e679"},{"imgUrl":"http://img.moviebase.cn/img/poster/2018/03/ee7507cd3f304cbe9a8a494b8e54c1a9.jpg@353w","id":"5c0c74ee-9862-40d1-8a40-519dfa2ce338","articleContentUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-5c0c74ee-9862-40d1-8a40-519dfa2ce338.html?appVersion=1.7.0","pubDate":1521000001,"praiseCount":"50","title":"如果你一生只和一个人做过爱......","description":"","sourceName":"巴塞电影","image":"http://img.moviebase.cn/img/poster/2018/03/ee7507cd3f304cbe9a8a494b8e54c1a9.jpg@353w","careateDate":1520994795,"articleUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-5c0c74ee-9862-40d1-8a40-519dfa2ce338.html?appVersion=1.7.0","sourceId":"19f2cd89ca904eb69e51f7d6e8a1e679"},{"imgUrl":"http://img.moviebase.cn/img/poster/2018/03/84448f30aa8242e58502acd20c860adf.jpeg@353w","id":"7843f1d8917c42d9a227e9aab6a156eb","articleContentUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-7843f1d8917c42d9a227e9aab6a156eb.html?appVersion=1.7.0","pubDate":1521101366,"praiseCount":"31","title":"《水形物语》上映了,打卡必备指南了解一下?","description":"","sourceName":"巴塞电影","image":"http://img.moviebase.cn/img/poster/2018/03/84448f30aa8242e58502acd20c860adf.jpeg@353w","careateDate":1521081695,"articleUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-7843f1d8917c42d9a227e9aab6a156eb.html?appVersion=1.7.0","sourceId":"19f2cd89ca904eb69e51f7d6e8a1e679"},{"imgUrl":"http://img.moviebase.cn/img/poster/2018/03/4876b3446c1545b98e6328a215839684.png@353w","id":"04dc6b7b3c9d4aad96d3c01859e5fcc9","articleContentUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-04dc6b7b3c9d4aad96d3c01859e5fcc9.html?appVersion=1.7.0","pubDate":1521111125,"praiseCount":"30","title":"《雷神3》的逗比导演,不做\u201c石头\u201d\u201c兔纸\u201d","description":"","sourceName":"巴塞电影","image":"http://img.moviebase.cn/img/poster/2018/03/4876b3446c1545b98e6328a215839684.png@353w","careateDate":1521096947,"articleUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-04dc6b7b3c9d4aad96d3c01859e5fcc9.html?appVersion=1.7.0","sourceId":"19f2cd89ca904eb69e51f7d6e8a1e679"},{"imgUrl":"http://img.moviebase.cn/img/poster/2018/03/b2d5e7208e8b4d7e8792c4b4b895adc6.jpeg@353w","id":"0509889d41cb4d88b10428d3bc128614","articleContentUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-0509889d41cb4d88b10428d3bc128614.html?appVersion=1.7.0","pubDate":1521127450,"praiseCount":"38","title":"《大小谎言》卡司薪水大涨,好莱坞男女薪资平等的时代也许即将到来","description":"","sourceName":"巴塞电影","image":"http://img.moviebase.cn/img/poster/2018/03/b2d5e7208e8b4d7e8792c4b4b895adc6.jpeg@353w","careateDate":1521109421,"articleUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-0509889d41cb4d88b10428d3bc128614.html?appVersion=1.7.0","sourceId":"19f2cd89ca904eb69e51f7d6e8a1e679"},{"imgUrl":"http://img.moviebase.cn/img/poster/2018/03/62c76e3adf3540438cc34740591ece32.jpg@353w","id":"385695a8-4f79-435c-af72-89d42f6212ee","articleContentUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-385695a8-4f79-435c-af72-89d42f6212ee.html?appVersion=1.7.0","pubDate":1521190800,"praiseCount":"35","title":"大型运动色情片,普京主演","description":"","sourceName":"巴塞电影","image":"http://img.moviebase.cn/img/poster/2018/03/62c76e3adf3540438cc34740591ece32.jpg@353w","careateDate":1521143137,"articleUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-385695a8-4f79-435c-af72-89d42f6212ee.html?appVersion=1.7.0","sourceId":"19f2cd89ca904eb69e51f7d6e8a1e679"},{"imgUrl":"http://img.moviebase.cn/img/poster/2018/03/219d22e0258949fda1c4f4d466cdaeb7.png@353w","id":"e08f3ac320014e51ae6b12f21bfb3ff7","articleContentUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-e08f3ac320014e51ae6b12f21bfb3ff7.html?appVersion=1.7.0","pubDate":1521086401,"praiseCount":"39","title":"这部韩国喜剧全程高能,看的时候千万别喝水","description":"","sourceName":"巴塞电影","image":"http://img.moviebase.cn/img/poster/2018/03/219d22e0258949fda1c4f4d466cdaeb7.png@353w","careateDate":1521019162,"articleUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-e08f3ac320014e51ae6b12f21bfb3ff7.html?appVersion=1.7.0","sourceId":"19f2cd89ca904eb69e51f7d6e8a1e679"},{"imgUrl":"http://img.moviebase.cn/img/poster/2018/03/369befac36c44ddaa1b1172136fcfe33.gif","id":"462a4b4a07244e05a91b8acabf9afd15","articleContentUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-462a4b4a07244e05a91b8acabf9afd15.html?appVersion=1.7.0","pubDate":1521127443,"praiseCount":"54","title":"有流量就能拍电影?小花们的电影谁来买单?","description":"","sourceName":"巴塞电影","image":"http://img.moviebase.cn/img/poster/2018/03/369befac36c44ddaa1b1172136fcfe33.gif","careateDate":1521107453,"articleUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-462a4b4a07244e05a91b8acabf9afd15.html?appVersion=1.7.0","sourceId":"19f2cd89ca904eb69e51f7d6e8a1e679"},{"imgUrl":"http://img.moviebase.cn/img/poster/2018/03/4ad6ebf78ab14143a959da3fb2df861c.png@353w","id":"1e0ca36fc43745f3a186d6cdf60f74ac","articleContentUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-1e0ca36fc43745f3a186d6cdf60f74ac.html?appVersion=1.7.0","pubDate":1521172801,"praiseCount":"46","title":"让你们看看即将上映的《犬之岛》鲜血淋漓的原型","description":"","sourceName":"巴塞电影","image":"http://img.moviebase.cn/img/poster/2018/03/4ad6ebf78ab14143a959da3fb2df861c.png@353w","careateDate":1521108941,"articleUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-1e0ca36fc43745f3a186d6cdf60f74ac.html?appVersion=1.7.0","sourceId":"19f2cd89ca904eb69e51f7d6e8a1e679"},{"imgUrl":"http://img.moviebase.cn/img/poster/2018/03/e2778b7170bc435bb0683205d1637c98.gif","id":"21846954b0c4437bbbd4bbb692d53f7a","articleContentUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-21846954b0c4437bbbd4bbb692d53f7a.html?appVersion=1.7.0","pubDate":1521277202,"praiseCount":"55","title":"每周只能做7秒!101分钟的动画就这么硬肝出来的","description":"","sourceName":"巴塞电影","image":"http://img.moviebase.cn/img/poster/2018/03/e2778b7170bc435bb0683205d1637c98.gif","careateDate":1521197851,"articleUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-21846954b0c4437bbbd4bbb692d53f7a.html?appVersion=1.7.0","sourceId":"19f2cd89ca904eb69e51f7d6e8a1e679"}]
     * articleSubscribeUpdateNum : 0
     */

    private int retCode;
    private int topicSubscribeUpdateNum;
    private String topicSubscribeUpdateList;
    private String requestId;
    private String retMsg;
    private int articleSubscribeUpdateNum;
    private List<TopicRecommendListBean> topicRecommendList;
    private List<AuthorListBean> authorList;
    private List<SourceListBean> sourceList;
    private List<ArticleListBean> articleList;

    public int getRetCode() {
        return retCode;
    }

    public void setRetCode(int retCode) {
        this.retCode = retCode;
    }

    public int getTopicSubscribeUpdateNum() {
        return topicSubscribeUpdateNum;
    }

    public void setTopicSubscribeUpdateNum(int topicSubscribeUpdateNum) {
        this.topicSubscribeUpdateNum = topicSubscribeUpdateNum;
    }

    public String getTopicSubscribeUpdateList() {
        return topicSubscribeUpdateList;
    }

    public void setTopicSubscribeUpdateList(String topicSubscribeUpdateList) {
        this.topicSubscribeUpdateList = topicSubscribeUpdateList;
    }

    public String getRequestId() {
        return requestId;
    }

    public void setRequestId(String requestId) {
        this.requestId = requestId;
    }

    public String getRetMsg() {
        return retMsg;
    }

    public void setRetMsg(String retMsg) {
        this.retMsg = retMsg;
    }

    public int getArticleSubscribeUpdateNum() {
        return articleSubscribeUpdateNum;
    }

    public void setArticleSubscribeUpdateNum(int articleSubscribeUpdateNum) {
        this.articleSubscribeUpdateNum = articleSubscribeUpdateNum;
    }

    public List<TopicRecommendListBean> getTopicRecommendList() {
        return topicRecommendList;
    }

    public void setTopicRecommendList(List<TopicRecommendListBean> topicRecommendList) {
        this.topicRecommendList = topicRecommendList;
    }

    public List<AuthorListBean> getAuthorList() {
        return authorList;
    }

    public void setAuthorList(List<AuthorListBean> authorList) {
        this.authorList = authorList;
    }

    public List<SourceListBean> getSourceList() {
        return sourceList;
    }

    public void setSourceList(List<SourceListBean> sourceList) {
        this.sourceList = sourceList;
    }

    public List<ArticleListBean> getArticleList() {
        return articleList;
    }

    public void setArticleList(List<ArticleListBean> articleList) {
        this.articleList = articleList;
    }

    public static class TopicRecommendListBean {
        /**
         * headImgUrl : http://img.moviebase.cn/img/trecommend/2017/10/6629de7abce84b56b916366bc07576c0.jpg@480w
         * imgUrl : http://img.moviebase.cn/img/topic/2017/09/b9add2d4aa2d448aa260664e4401a6ba.jpg@!2x.webp
         * id : 44e9ea47bbd8401590d9a8ae3a3b283b
         * title : 北美新片
         * desc : 来自米国院线的最新票房和口碑
         * isSub : 0
         * recommendImgUrl : http://img.moviebase.cn/img/trecommend/2017/10/6629de7abce84b56b916366bc07576c0.jpg@484w
         * isSubscribe : 0
         * subscribeNum : 2616
         * articlesNum : 58
         */

        private String headImgUrl;
        private String imgUrl;
        private String id;
        private String title;
        private String desc;
        private String isSub;
        private String recommendImgUrl;
        private int isSubscribe;
        private int subscribeNum;
        private int articlesNum;

        public String getHeadImgUrl() {
            return headImgUrl;
        }

        public void setHeadImgUrl(String headImgUrl) {
            this.headImgUrl = headImgUrl;
        }

        public String getImgUrl() {
            return imgUrl;
        }

        public void setImgUrl(String imgUrl) {
            this.imgUrl = imgUrl;
        }

        public String getId() {
            return id;
        }

        public void setId(String id) {
            this.id = id;
        }

        public String getTitle() {
            return title;
        }

        public void setTitle(String title) {
            this.title = title;
        }

        public String getDesc() {
            return desc;
        }

        public void setDesc(String desc) {
            this.desc = desc;
        }

        public String getIsSub() {
            return isSub;
        }

        public void setIsSub(String isSub) {
            this.isSub = isSub;
        }

        public String getRecommendImgUrl() {
            return recommendImgUrl;
        }

        public void setRecommendImgUrl(String recommendImgUrl) {
            this.recommendImgUrl = recommendImgUrl;
        }

        public int getIsSubscribe() {
            return isSubscribe;
        }

        public void setIsSubscribe(int isSubscribe) {
            this.isSubscribe = isSubscribe;
        }

        public int getSubscribeNum() {
            return subscribeNum;
        }

        public void setSubscribeNum(int subscribeNum) {
            this.subscribeNum = subscribeNum;
        }

        public int getArticlesNum() {
            return articlesNum;
        }

        public void setArticlesNum(int articlesNum) {
            this.articlesNum = articlesNum;
        }
    }

    public static class AuthorListBean {
        /**
         * id : 0185e0a334e54866bcc423322c02e217
         * logo : http://img.moviebase.cn/img/other/2017/09/79174c2dabc94f89983488c09de74e78.jpg@130w
         * nickname : 手动贩卖机
         * description : 人不如机器。
         */

        private String id;
        private String logo;
        private String nickname;
        private String description;

        public String getId() {
            return id;
        }

        public void setId(String id) {
            this.id = id;
        }

        public String getLogo() {
            return logo;
        }

        public void setLogo(String logo) {
            this.logo = logo;
        }

        public String getNickname() {
            return nickname;
        }

        public void setNickname(String nickname) {
            this.nickname = nickname;
        }

        public String getDescription() {
            return description;
        }

        public void setDescription(String description) {
            this.description = description;
        }
    }

    public static class SourceListBean {
        /**
         * id : 19f2cd89ca904eb69e51f7d6e8a1e679
         * logo : http://img.moviebase.cn/img/source/2018/02/c526cc8be95944399a68197c778ee1ab.png@130w
         * nickname : 巴塞电影
         * description : 资深电影编辑团队每日为你更新最有品、有料、原创、独家的电影资讯和深度解读。公众号:MovieBase
         */

        private String id;
        private String logo;
        private String nickname;
        private String description;

        public String getId() {
            return id;
        }

        public void setId(String id) {
            this.id = id;
        }

        public String getLogo() {
            return logo;
        }

        public void setLogo(String logo) {
            this.logo = logo;
        }

        public String getNickname() {
            return nickname;
        }

        public void setNickname(String nickname) {
            this.nickname = nickname;
        }

        public String getDescription() {
            return description;
        }

        public void setDescription(String description) {
            this.description = description;
        }
    }

    public static class ArticleListBean {
        /**
         * imgUrl : http://img.moviebase.cn/img/poster/2018/03/bc1df537a3a540228075e050bb20668c.jpg@353w
         * id : 0677ba5d32d34ed09c66b5bf8c699edb
         * articleContentUrl : http://www.moviebase.cn/uread/app/viewArt/viewArt-0677ba5d32d34ed09c66b5bf8c699edb.html?appVersion=1.7.0
         * pubDate : 1520931197
         * praiseCount : 54
         * title : 人间是否已耳聋?20年后,再听1998华语流行神曲
         * description :
         * sourceName : 巴塞电影
         * image : http://img.moviebase.cn/img/poster/2018/03/bc1df537a3a540228075e050bb20668c.jpg@353w
         * careateDate : 1520913387
         * articleUrl : http://www.moviebase.cn/uread/app/viewArt/viewArt-0677ba5d32d34ed09c66b5bf8c699edb.html?appVersion=1.7.0
         * sourceId : 19f2cd89ca904eb69e51f7d6e8a1e679
         */

        private String imgUrl;
        private String id;
        private String articleContentUrl;
        private int pubDate;
        private String praiseCount;
        private String title;
        private String description;
        private String sourceName;
        private String image;
        private int careateDate;
        private String articleUrl;
        private String sourceId;

        public String getImgUrl() {
            return imgUrl;
        }

        public void setImgUrl(String imgUrl) {
            this.imgUrl = imgUrl;
        }

        public String getId() {
            return id;
        }

        public void setId(String id) {
            this.id = id;
        }

        public String getArticleContentUrl() {
            return articleContentUrl;
        }

        public void setArticleContentUrl(String articleContentUrl) {
            this.articleContentUrl = articleContentUrl;
        }

        public int getPubDate() {
            return pubDate;
        }

        public void setPubDate(int pubDate) {
            this.pubDate = pubDate;
        }

        public String getPraiseCount() {
            return praiseCount;
        }

        public void setPraiseCount(String praiseCount) {
            this.praiseCount = praiseCount;
        }

        public String getTitle() {
            return title;
        }

        public void setTitle(String title) {
            this.title = title;
        }

        public String getDescription() {
            return description;
        }

        public void setDescription(String description) {
            this.description = description;
        }

        public String getSourceName() {
            return sourceName;
        }

        public void setSourceName(String sourceName) {
            this.sourceName = sourceName;
        }

        public String getImage() {
            return image;
        }

        public void setImage(String image) {
            this.image = image;
        }

        public int getCareateDate() {
            return careateDate;
        }

        public void setCareateDate(int careateDate) {
            this.careateDate = careateDate;
        }

        public String getArticleUrl() {
            return articleUrl;
        }

        public void setArticleUrl(String articleUrl) {
            this.articleUrl = articleUrl;
        }

        public String getSourceId() {
            return sourceId;
        }

        public void setSourceId(String sourceId) {
            this.sourceId = sourceId;
        }
    }
}
package com.example.dome2.net;


import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.example.dome2.R;
import com.google.gson.Gson;

import java.util.ArrayList;
import java.util.List;

/**
 * A simple {@link Fragment} subclass.
 */
public class NetFragment extends Fragment {
    RecyclerView rv;
    List<NetBean.ArticleListBean> mDatas = new ArrayList<>();
    private NetAdapter adapter;
    String url = "http://www.moviebase.cn/uread/app/category/categoryList?platform=2&deviceId=A8C73E0D1ED1A2BED491C9238C8FD8A0&channelId=1003&appVersion=1.7.0";
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view =  inflater.inflate(R.layout.fragment_net, container, false);
        rv = (RecyclerView) view.findViewById(R.id.net_rv);
//        布局管理者
        LinearLayoutManager manager = new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false);
        rv.setLayoutManager(manager);
//        数据源
//        适配器
        adapter = new NetAdapter(getActivity(),mDatas);
        rv.setAdapter(adapter);
//        加载网络数据
        loadWebData();
        return view;
    }

    private void loadWebData() {
        new AsyncTask<Void,Void,String>(){
            @Override
            protected String doInBackground(Void... voids) {
                String content = HttpUtils.getStringContent(url);
                return content;
            }

            @Override
            protected void onPostExecute(String s) {
                super.onPostExecute(s);
                if (s!=null&&!s.isEmpty()) {
                    Gson gson = new Gson();
                    NetBean netBean = gson.fromJson(s, NetBean.class);
                    List<NetBean.ArticleListBean> list = netBean.getArticleList();
                    mDatas.addAll(list);
                    adapter.notifyDataSetChanged();
                }

            }
        }.execute();
    }

}
package com.example.dome2.sms;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;


import com.example.dome2.R;

import java.util.List;

/**
 * Created by Administrator on 2018/4/3.
 */

public class SMSAdapter extends RecyclerView.Adapter<SMSAdapter.SMSViewHolder>{
    private Context context;
    private List<SMSBean>mDatas;

    public SMSAdapter(Context context, List<SMSBean> mDatas) {
        this.context = context;
        this.mDatas = mDatas;
    }

    @Override
    public SMSViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(R.layout.item_sms, parent, false);
        SMSViewHolder holder = new SMSViewHolder(view);
        return holder;
    }

    @Override
    public void onBindViewHolder(SMSViewHolder holder, int position) {
        SMSBean smsBean = mDatas.get(position);
        holder.typeTv.setText(smsBean.getType());
        holder.numberTv.setText("电话:"+smsBean.getNumber());
        holder.bodyTv.setText(smsBean.getBody());
        holder.timeTv.setText(smsBean.getTime());
    }

    @Override
    public int getItemCount() {
        return mDatas.size();
    }

    class SMSViewHolder extends RecyclerView.ViewHolder{
        TextView typeTv,numberTv,bodyTv,timeTv;
        public SMSViewHolder(View itemView) {
            super(itemView);
            typeTv = (TextView) itemView.findViewById(R.id.item_sms_type);
            numberTv = (TextView) itemView.findViewById(R.id.item_sms_number);
            bodyTv = (TextView) itemView.findViewById(R.id.item_sms_body);
            timeTv = (TextView) itemView.findViewById(R.id.item_sms_time);
        }
    }
}
package com.example.dome2.sms;

/**
 * Created by Administrator on 2018/4/3.
 */

public class SMSBean {

    String type;
    String number;
    String body;
    String time;

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    public String getBody() {
        return body;
    }

    public void setBody(String body) {
        this.body = body;
    }

    public String getTime() {
        return time;
    }

    public void setTime(String time) {
        this.time = time;
    }

    public SMSBean() {
    }

    public SMSBean(String type, String number, String body, String time) {
        this.type = type;
        this.number = number;
        this.body = body;
        this.time = time;
    }
}
package com.example.dome2.sms;


import android.app.Fragment;
import android.content.ContentResolver;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;


import com.example.dome2.R;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * A simple {@link Fragment} subclass.
 */
public class SMSFragment extends Fragment {

    List<SMSBean>mDatas = new ArrayList<>();
    private SMSAdapter adapter;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_sms, container, false);
        RecyclerView rv = (RecyclerView) view.findViewById(R.id.sms_rv);
        LinearLayoutManager manager = new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false);
        rv.setLayoutManager(manager);
//        数据源
        adapter = new SMSAdapter(getActivity(),mDatas);
        rv.setAdapter(adapter);
//        加载本地数据
        loadData();
        return view;
    }

    private void loadData() {
//        1.添加权限  该版本
//        2.ContentResolver
        ContentResolver resolver = getActivity().getContentResolver();
//        3.Uri地址
        Uri uri = Uri.parse("content://sms");
//        4.获取数据
        Cursor cursor = resolver.query(uri, null, null, null, null);
//        5.遍历
        while (cursor.moveToNext()) {
            String type = cursor.getString(cursor.getColumnIndex("type"));
            String dtype="";
            switch (type) {
                case "1":
                    dtype = "接受到的信息";
                    break;
                case "2":
                    dtype="发送的信息";
                    break;
                default:
                    dtype = "其他的信息";
                    break;
            }
            String body = cursor.getString(cursor.getColumnIndex("body"));
            String address = cursor.getString(cursor.getColumnIndex("address"));
            long date = cursor.getLong(cursor.getColumnIndex("date"));
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String time = sdf.format(new Date(date));
            SMSBean bean = new SMSBean(dtype,address,body,time);
            mDatas.add(bean);
        }
//        通知adapter更新数据
        adapter.notifyDataSetChanged();
    }

}
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/drawerlayout"
    tools:context="com.example.dome2.MainActivity">
    <!-- 代表中心的内容-->
    <LinearLayout
        android:id="@+id/center_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:title="通话记录"
            app:titleTextColor="#FFF"
            android:background="@color/colorPrimary"
            app:navigationIcon="@mipmap/icon_nav">

        </android.support.v7.widget.Toolbar>
        <!-- 用来占位的-->
        <LinearLayout
            android:id="@+id/layout"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
        </LinearLayout>

    </LinearLayout>
    <!--  代表左边的抽屉  -->
    <LinearLayout
        android:id="@+id/left_layout"
        android:layout_width="200dp"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:layout_gravity="left"
        android:background="#fdff6080">
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:background="@color/colorAccent">
            <ImageView
                android:id="@+id/iv"
                android:layout_centerInParent="true"
                android:src="@mipmap/p"
                android:layout_width="80dp"
                android:layout_height="80dp" />
            <TextView
                android:layout_below="@+id/iv"
                android:gravity="center"
                android:text="考试必过"
                android:textSize="18sp"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />
        </RelativeLayout>
        <Button
            android:id="@+id/btn_call"
            android:layout_width="100dp"
            android:background="@drawable/pop"
            android:layout_height="wrap_content"
            android:text="获取通话记录"
            android:onClick="onClick"/>
        <Button
            android:id="@+id/btn_sms"
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:background="@drawable/pop"
            android:text="获取短信记录"
            android:layout_marginTop="10dp"
            android:onClick="onClick"/>
        <Button
            android:id="@+id/btn_music"
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:text="获取多媒体音乐"
            android:layout_marginTop="10dp"
            android:background="@drawable/pop"
            android:onClick="onClick"/>
        <Button
            android:id="@+id/btn_net"
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:text="获取网络信息"
            android:background="@drawable/pop"
            android:layout_marginTop="10dp"
            android:onClick="onClick"/>
    </LinearLayout>
</android.support.v4.widget.DrawerLayout>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.dome2.call.CallLogFragment">

    <!-- TODO: Update blank fragment layout -->
    <android.support.v7.widget.RecyclerView
        android:id="@+id/call_rv"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

</FrameLayout>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.dome2.music.MusicFragment">

    <!-- TODO: Update blank fragment layout -->
    <android.support.v7.widget.RecyclerView
        android:id="@+id/music_rv"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

</FrameLayout>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.dome2.net.NetFragment">

    <!-- TODO: Update blank fragment layout -->
    <android.support.v7.widget.RecyclerView
        android:id="@+id/net_rv"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

</FrameLayout>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.dome2.sms.SMSFragment">

    <!-- TODO: Update blank fragment layout -->
    <android.support.v7.widget.RecyclerView
        android:id="@+id/sms_rv"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</FrameLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:orientation="vertical">

    <TextView
        android:id="@+id/item_call_id"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="1" />

    <TextView
        android:id="@+id/item_call_number"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="18910235678" />

    <TextView
        android:id="@+id/item_call_time"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="110" />
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="2dp"
        android:layout_marginTop="10dp"
        android:background="@color/colorAccent"/>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <TextView
        android:id="@+id/item_music_id"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:text="1"
        android:textSize="28sp"
        android:textStyle="bold"
        android:layout_marginLeft="20dp"/>

    <TextView
        android:id="@+id/item_music_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="30dp"
        android:layout_marginStart="30dp"
        android:layout_marginTop="13dp"
        android:layout_toEndOf="@+id/item_music_id"
        android:layout_toRightOf="@+id/item_music_id"
        android:text="算什么男人"
        android:textSize="20sp"/>

    <TextView
        android:id="@+id/item_music_singer"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/item_music_name"
        android:layout_alignStart="@+id/item_music_name"
        android:layout_below="@+id/item_music_name"
        android:layout_marginTop="20dp"
        android:text="周杰伦"
        android:textSize="14sp"/>

    <TextView
        android:id="@+id/item_music_line"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/item_music_singer"
        android:layout_marginLeft="10dp"
        android:layout_marginStart="10dp"
        android:layout_toEndOf="@+id/item_music_singer"
        android:layout_toRightOf="@+id/item_music_singer"
        android:text="|"
        android:textStyle="bold"/>

    <TextView
        android:id="@+id/item_music_album"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/item_music_line"
        android:layout_marginLeft="10dp"
        android:layout_toEndOf="@+id/item_music_line"
        android:layout_toRightOf="@+id/item_music_line"
        android:text="哎呦不错哦"
        android:textSize="14sp"/>

    <TextView
        android:id="@+id/item_music_time"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/item_music_album"
        android:layout_marginEnd="25dp"
        android:layout_marginRight="25dp"
        android:text="5:30" />
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="2dp"
        android:layout_marginTop="10dp"
        android:layout_below="@+id/item_music_time"
        android:background="@color/colorAccent"/>
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    <ImageView
        android:id="@+id/item_net_iv"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:src="@mipmap/ic_launcher"
        android:scaleType="centerCrop"
        android:layout_margin="5dp"/>
    <TextView
        android:id="@+id/item_net_tv"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:textColor="#5e050e"
        android:text="裴浩宇"/>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:background="#fc5f81"
    android:orientation="vertical">

    <TextView
        android:id="@+id/item_sms_type"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="接受的短信" />

    <TextView
        android:id="@+id/item_sms_number"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="电话:18911006789" />

    <TextView
        android:id="@+id/item_sms_body"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="今天天气好好啊红啊好好啊哈!!!" />

    <TextView
        android:id="@+id/item_sms_time"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="right"
        android:text="2018-01-01 18:30:23" />
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="2dp"
        android:background="@color/colorAccent"/>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item android:id="@+id/search"
        android:icon="@mipmap/icon_search"
        android:title="搜索"
        app:showAsAction="always"/>
</menu>

猜你喜欢

转载自blog.csdn.net/p__henry/article/details/79833109