10.18作业

@[toc](作业)

Activity

引导


package com.example.day1018;

import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Handler;
import android.os.Message;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

import com.example.day1018.fragment.Wel_Fragment;

import java.util.ArrayList;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;

public class Wel_Activity extends AppCompatActivity {

    private ViewPager viewpager;
    private TextView time;
    private TextView myCalss;
    private TextView name;
    private List<Fragment> lists = new ArrayList<>();
    private int index = 0;
    private int num = 3;
    private Timer timer, timer1;

    @SuppressLint("HandlerLeak")
    Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if (msg.what == 110) {
                viewpager.setCurrentItem(index);
                index++;
                if (index == lists.size()) {
                    index = 0;
                    timer.cancel();
                    getTimer();
                }
            }

            if (msg.what == 100) {
                num--;
                time.setText("倒计时:" + num + "秒");
                if (num == 0) {
                    timer1.cancel();
                    Intent intent = new Intent(Wel_Activity.this, MainActivity.class);
                    startActivity(intent);

                    finish();
                }

            }

        }
    };

    private void getTimer() {
        timer1 = new Timer();
        timer1.schedule(new TimerTask() {
            @Override
            public void run() {
                handler.sendEmptyMessage(100);
            }
        }, 0, 1000);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_wel_);

        viewpager = (ViewPager) findViewById(R.id.viewpager);
        time = (TextView) findViewById(R.id.time);
        myCalss = (TextView) findViewById(R.id.myCalss);
        name = (TextView) findViewById(R.id.name);

        for (int i = 0; i < 3; i++) {
            Wel_Fragment fragment = new Wel_Fragment();
            Bundle bundle = new Bundle();
            bundle.putString("msg", "这是第" + (i + 1) + "个fragment");
            fragment.setArguments(bundle);
            lists.add(fragment);
        }

        viewpager.setAdapter(new FragmentStatePagerAdapter(getSupportFragmentManager()) {
            @Override
            public Fragment getItem(int i) {
                return lists.get(i);
            }

            @Override
            public int getCount() {
                return lists.size();
            }
        });

        viewpager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int i, float v, int i1) {

            }

            @Override
            public void onPageSelected(int i) {
                if (i == lists.size()-1) {
                    time.setVisibility(View.VISIBLE);
                    myCalss.setVisibility(View.VISIBLE);
                    name.setVisibility(View.VISIBLE);
                } else {
                    time.setVisibility(View.GONE);
                    myCalss.setVisibility(View.GONE);
                    name.setVisibility(View.GONE);
                }
            }

            @Override
            public void onPageScrollStateChanged(int i) {

            }
        });

        timer = new Timer();
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                handler.sendEmptyMessage(110);
            }
        }, 0, 1000);


    }
}

主页面

package com.example.day1018;

import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;

import com.example.day1018.fragment.NotesFragment;
import com.example.day1018.fragment.Person_Fragment;
import com.example.day1018.fragment.Search_Fragment;
import com.example.day1018.fragment.Write_Fragment;

public class MainActivity extends AppCompatActivity {

    private ViewPager viewPager;
    private RadioGroup radioGroup;
    private RadioButton diary;
    private RadioButton search;
    private RadioButton write;
    private RadioButton addList;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        viewPager = findViewById(R.id.viewpager);
        radioGroup = findViewById(R.id.radio_G);
        diary = (RadioButton) findViewById(R.id.diary);
        search = (RadioButton) findViewById(R.id.search);
        write = (RadioButton) findViewById(R.id.write);
        addList = (RadioButton) findViewById(R.id.add_list);

        final FragmentManager manager = getSupportFragmentManager();
        final FragmentTransaction transaction = manager.beginTransaction();
        final NotesFragment notesFragment = new NotesFragment();
        final Search_Fragment searchFragment = new Search_Fragment();
        final Write_Fragment writeFragment = new Write_Fragment();
        final Person_Fragment personFragment = new Person_Fragment();

        transaction.add(R.id.list01, notesFragment);
        transaction.add(R.id.list01, searchFragment);
        transaction.add(R.id.list01, writeFragment);
        transaction.add(R.id.list01, personFragment);
        transaction.hide(searchFragment);
        transaction.hide(writeFragment);
        transaction.hide(personFragment);

        transaction.commit();

        radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                switch (checkedId) {
                    case R.id.diary:
                        FragmentManager manager1 = getSupportFragmentManager();
                        FragmentTransaction transaction1 = manager1.beginTransaction();
                        transaction1.hide(searchFragment);
                        transaction1.hide(writeFragment);
                        transaction1.hide(personFragment);
                        transaction1.show(notesFragment);
                        transaction1.commit();

                        break;
                    case R.id.search:
                        FragmentManager manager2 = getSupportFragmentManager();
                        FragmentTransaction transaction2 = manager2.beginTransaction();
                        transaction2.hide(notesFragment);
                        transaction2.hide(writeFragment);
                        transaction2.hide(personFragment);
                        transaction2.show(searchFragment);
                        transaction2.commit();
                        break;
                    case R.id.write:
                        FragmentManager manager3 = getSupportFragmentManager();
                        FragmentTransaction transaction3 = manager3.beginTransaction();
                        transaction3.hide(searchFragment);
                        transaction3.hide(searchFragment);
                        transaction3.hide(personFragment);
                        transaction3.show(writeFragment);
                        transaction3.commit();
                        break;
                    case R.id.add_list:
                        FragmentManager manager4 = getSupportFragmentManager();
                        FragmentTransaction transaction4 = manager4.beginTransaction();
                        transaction4.hide(searchFragment);
                        transaction4.hide(writeFragment);
                        transaction4.hide(notesFragment);
                        transaction4.show(personFragment);
                        transaction4.commit();
                        break;

                }

            }
        });


//        new MyProvider();


    }
}


fragment

日记

package com.example.day1018.fragment;


import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ListView;

import com.example.day1018.R;

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

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

    private List<String> lists = new ArrayList<>();
    private MyAdapter adapter;

    public NotesFragment() {
        // Required empty public constructor
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View inflate = inflater.inflate(R.layout.fragment_notes, container, false);
        ListView listView = inflate.findViewById(R.id.list_view);
        adapter = new MyAdapter(getActivity());

        listView.setAdapter(adapter);

        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

            }
        });

        return inflate;
    }

}

搜索

package com.example.day1018.fragment;


import android.content.ContentResolver;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;

import com.example.day1018.Bean.Person;
import com.example.day1018.R;

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

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

    private EditText searchEdit;
    private Button searchBut;
    private ListView listview2;
    private List<String> lists = new ArrayList<>();
    private MyAdapter3 adapter3 ;



    public Search_Fragment() {
        // Required empty public constructor
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View inflate = inflater.inflate(R.layout.fragment_search_, container, false);
        searchEdit = (EditText) inflate.findViewById(R.id.search_edit);
        searchBut = (Button) inflate.findViewById(R.id.search_but);
        listview2 = (ListView) inflate.findViewById(R.id.listview2);

        searchBut.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String s = searchEdit.getText().toString();
                ContentResolver resolver = getActivity().getContentResolver();
                Uri uri = Uri.parse("content://com.lae.exe");
                Cursor cursor = resolver.query(uri, new String[]{"con = %?%"}, s, null, null);
                if(cursor != null){
                    while (cursor.moveToNext()){
                        String con = cursor.getString(cursor.getColumnIndex("con"));
                        lists.add(con);

                       adapter3 = new MyAdapter3(getActivity(),lists);

                    }
                }

            }
        });


        return inflate;
    }

}

编写

package com.example.day1018.fragment;


import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;

import com.example.day1018.MyReceiver;
import com.example.day1018.MyReceiver2;
import com.example.day1018.R;

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


    public Write_Fragment() {
        // Required empty public constructor
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        View inflate = inflater.inflate(R.layout.fragment_write_, container, false);
        final TextView textView_title = inflate.findViewById(R.id.edit_title);
        final TextView textView_tv = inflate.findViewById(R.id.edit_tv);
        Button button = inflate.findViewById(R.id.save);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ContentResolver resolver = getActivity().getContentResolver();

                Uri uri = Uri.parse("content://com.lae.exe");
                String title = textView_title.getText().toString();
                String content = textView_tv.getText().toString();
                if(title != null && content != null){
                    ContentValues values = new ContentValues();
                    values.put("con",content);
                    resolver.insert(uri,values);

                    MyReceiver2 receiver2 = new MyReceiver2();
                    Intent intent = new Intent();
                    intent.setAction("com.lae.exe");
                    Bundle bundle = new Bundle();
                    bundle.putBoolean("isFre",true);
                    intent.putExtras(bundle);
                    getActivity().sendBroadcast(intent);
                }
            }
        });


        return inflate;
    }

}

联系人

package com.example.day1018.fragment;


import android.Manifest;
import android.annotation.SuppressLint;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ListView;

import com.example.day1018.Bean.Person;
import com.example.day1018.MyProvider;
import com.example.day1018.MyReceiver;
import com.example.day1018.R;

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

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


    private List<Person> lists = new ArrayList<>();
    private MyAdapter4 adapter;

    @SuppressLint("ValidFragment")
    public Person_Fragment(List<Person> lists, MyAdapter4 adapter) {
        this.lists = lists;
        this.adapter = adapter;
    }

    public Person_Fragment() {
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, final Bundle savedInstanceState) {
        View inflate = inflater.inflate(R.layout.fragment_person_, container, false);
        ListView listView = inflate.findViewById(R.id.listview_4);

        requestPermissions(new String[]{Manifest.permission.READ_CONTACTS, Manifest.permission.WRITE_CONTACTS}, 100);

        ContentResolver resolver = getActivity().getContentResolver();
        Uri uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;

        Cursor cursor = resolver.query(uri, null, null, null, null, null);
        if (cursor != null) {
            while (cursor.moveToNext()) {
                String name = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
                String number = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
                Person person = new Person();
                person.setName(name);
                person.setNumber(number);
                lists.add(person);
            }
            cursor.close();
        }

        adapter = new MyAdapter4(lists, getActivity());
        listView.setAdapter(adapter);

        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                MyReceiver receiver = new MyReceiver();

                Intent intent = new Intent();
                PendingIntent activity = PendingIntent.getActivity(getContext(), 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);

                Notification.Builder builder = new Notification.Builder(getActivity());
                builder.setSmallIcon(R.mipmap.ic_launcher);
                builder.setContentTitle("这是联系人");
                builder.setContentText(lists.get(position).getNumber());

                intent.setAction("com.lae.exe");
                Bundle bundle = new Bundle();
                bundle.putString("del","删除");
                intent.putExtras(bundle);

                Intent intent1 = getActivity().getIntent();
                Bundle extras = intent1.getExtras();
                boolean de = extras.getBoolean("de",false);
                if(de){
                    lists.remove(position);
                    adapter.notifyDataSetChanged();
                }

                getActivity().sendBroadcast(intent);
                builder.setContentIntent(activity);
                Notification build = builder.build();
                NotificationManager service = (NotificationManager)getActivity().getSystemService(Context.NOTIFICATION_SERVICE);
                service.notify(1,build);
            }
        });


        return inflate;
    }

}

适配器

日记

package com.example.day1018.fragment;

import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

import com.example.day1018.R;

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

class MyAdapter extends BaseAdapter {
    private List<String> lists = new ArrayList<>();
    private static final String TAG = "MyAdapter";

    private Context context;

    public MyAdapter(Context context) {
        this.context = context;
        Uri uri = Uri.parse("content://com.lae.exe");


        Cursor cursor = context.getContentResolver().query(uri, null, null, null, null);
        if (cursor != null) {
            while (cursor.moveToNext()) {
                String con = cursor.getString(cursor.getColumnIndex("con"));
                lists.add(con);
            }
            cursor.close();
            Log.d(TAG, "getList: "+lists.toString());
        }


    }


    @Override
    public int getCount() {
        return lists.size();
    }

    @Override
    public Object getItem(int position) {
        return lists.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder = null;
        if (convertView == null) {
            holder = new ViewHolder();
            convertView = LayoutInflater.from(context).inflate(R.layout.layout_item, null);
            holder.textView = convertView.findViewById(R.id.tv_item);
            convertView.setTag(holder);
        } else {
            holder = (ViewHolder) convertView.getTag();
        }

        holder.textView.setText(lists.get(position));

        return convertView;
    }

    private class ViewHolder {
        private TextView textView;
    }
}

编写

package com.example.day1018.fragment;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

import com.example.day1018.R;

import java.util.List;

class MyAdapter3 extends BaseAdapter {

    private Context context;
    private List<String> lists;

    public MyAdapter3(Context context, List<String> lists) {
        this.context = context;
        this.lists = lists;
    }

    @Override
    public int getCount() {
        return lists.size();
    }

    @Override
    public Object getItem(int position) {
        return lists.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder = null;
        if (convertView == null) {
            holder = new ViewHolder();
            convertView = LayoutInflater.from(context).inflate(R.layout.layout_item, null);
            holder.textView = convertView.findViewById(R.id.tv_item);
            convertView.setTag(holder);
        } else {
            holder = (ViewHolder) convertView.getTag();
        }

        holder.textView.setText(lists.get(position));

        return convertView;
    }

    private class ViewHolder {
        private TextView textView;
    }
}

联系人

package com.example.day1018.fragment;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

import com.example.day1018.Bean.Person;
import com.example.day1018.MyProvider;
import com.example.day1018.R;

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

class MyAdapter4 extends BaseAdapter {

    private List<Person> lists;
    private Context context;

    public MyAdapter4(List<Person> lists, Context context) {
        this.lists = lists;
        this.context = context;
    }

    @Override
    public int getCount() {
        return lists.size();
    }

    @Override
    public Object getItem(int position) {
        return lists.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder = null;
        if (convertView == null) {
            holder = new ViewHolder();
            convertView = LayoutInflater.from(context).inflate(R.layout.layout_item4, null);
            holder.textView_name = convertView.findViewById(R.id.name);
            holder.textView_number = convertView.findViewById(R.id.number);
            convertView.setTag(holder);
        } else {
            holder = (ViewHolder) convertView.getTag();
        }
        holder.textView_number.setText(lists.get(position).getNumber());
        holder.textView_name.setText(lists.get(position).getName());


        return convertView;
    }

    private class ViewHolder {

        private TextView textView_name, textView_number;

    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值