练习练习练习

引导页

package com.example.day1025_exe;

import android.content.Intent;
import android.content.SharedPreferences;
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 com.example.day1025_exe.fragment.WelFragment;

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 List<Fragment> list = new ArrayList<>();
    private Timer timer;
    //    private Timer timer_time;
    private int index = 0;


    private Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);

            if (msg.what == 100) {
                viewPager.setCurrentItem(index);
                index++;
                if (index == list.size()) {
                    timer.cancel();
                    Intent intent = new Intent(Wel_activity.this, Register_Activity.class);
                    startActivity(intent);
                }
            }


        }
    };


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_wel_activity);
        viewPager = findViewById(R.id.viewpager);


        SharedPreferences wel = getSharedPreferences("wel", MODE_PRIVATE);
        boolean isOk = wel.getBoolean("isOk", false);
        if (isOk) {
            Intent intent = new Intent(Wel_activity.this, Register_Activity.class);
            startActivity(intent);
        } else {
            addFragmet();
            view_Adapter();

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


    }

    private void view_Adapter() {
        viewPager.setAdapter(new FragmentStatePagerAdapter(getSupportFragmentManager()) {
            @Override
            public Fragment getItem(int i) {
                return list.get(i);
            }

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

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

注册


package com.example.day1025_exe;

import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Register_Activity extends AppCompatActivity {
    private EditText username;
    private EditText password;
    private EditText passwordAgain;
    private Button register;

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

        SharedPreferences wel = getSharedPreferences("wel", MODE_PRIVATE);
        SharedPreferences.Editor edit = wel.edit();
        edit.putBoolean("isOk", true);
        edit.apply();

        initView();


    }

    private void initView() {
        username = (EditText) findViewById(R.id.username);
        password = (EditText) findViewById(R.id.password);
        passwordAgain = (EditText) findViewById(R.id.password_again);
        register = (Button) findViewById(R.id.register);

        final Uri uri = Uri.parse("content://com.client.msg");

        register.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String name = username.getText().toString();
                String pwd = password.getText().toString();
                String pwda = passwordAgain.getText().toString();
                String regex = "[1][3,5,6,7,8,9][0-9]{9}";

                Pattern compile = Pattern.compile(regex);
                Matcher matcher = compile.matcher(name);
                boolean matches = matcher.matches();

                if (matches && pwd.equals(pwda) && (pwd.length() >= 12) && (pwd.length() <= 18)) {
                    ContentResolver resolver = getContentResolver();
                    ContentValues values = new ContentValues();
                    values.put("username", name);
                    values.put("password", pwd);
                    resolver.insert(uri, values);

                    Intent intent = new Intent(Register_Activity.this, Login_Activity.class);
                    startActivity(intent);
                    Log.i("TAG", "onClick: 注册唱功");

                } else {
                    Toast.makeText(Register_Activity.this, "用户名或密码不符合规则", Toast.LENGTH_SHORT).show();
                }


            }
        });


    }
}

登录

package com.example.day1025_exe;

import android.content.ContentResolver;
import android.content.Intent;
import android.content.SharedPreferences;
import android.database.Cursor;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class Login_Activity extends AppCompatActivity {

    private EditText username1;
    private EditText password1;
    private Button login;
    private boolean isTrue = false;

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

        final Uri uri = Uri.parse("content://com.client.msg");

        SharedPreferences log = getSharedPreferences("log", MODE_PRIVATE);
        boolean islog = log.getBoolean("islog", false);
        if (islog) {
            Intent intent = new Intent(Login_Activity.this, MainActivity.class);
            startActivity(intent);
        } else {
            tologin(uri);
        }


    }

    private void tologin(final Uri uri) {
        login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String name = username1.getText().toString();
                String pwd = password1.getText().toString();
                ContentResolver resolver = getContentResolver();
                Cursor cursor = resolver.query(uri, null, null, null, null);

                if (cursor != null) {
                    while (cursor.moveToNext()) {
                        String username = cursor.getString(cursor.getColumnIndex("username"));
                        String password = cursor.getString(cursor.getColumnIndex("password"));
                        if (username.equals(name) && password.equals(pwd)) {
                            isTrue = true;
                            break;
                        }
                    }
                    if (isTrue) {
                        Intent intent = new Intent(Login_Activity.this, MainActivity.class);
                        startActivity(intent);
                    } else {
                        Toast.makeText(Login_Activity.this, "登录失败!!", Toast.LENGTH_SHORT).show();
                    }

                }
                cursor.close();
            }
        });
    }

    private void initView() {

        username1 = (EditText) findViewById(R.id.username1);
        password1 = (EditText) findViewById(R.id.password1);
        login = (Button) findViewById(R.id.login);

    }
}

联系人

package com.example.day1025_exe.fragment;


import android.Manifest;
import android.content.ContentResolver;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.database.Cursor;
import android.net.Uri;
import android.os.Build;
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.day1025_exe.R;
import com.example.day1025_exe.bean.Person;

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

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

    private ListView left;
    private ListView right;
    private List<Person> list = new ArrayList<>();
    private MyAdapter adapter;
//    private MeAdapter meAdapter;


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


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View inflate = inflater.inflate(R.layout.fragment_person, container, false);
        left = (ListView) inflate.findViewById(R.id.left);
        right = (ListView) inflate.findViewById(R.id.right);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            getActivity().requestPermissions(new String[]{Manifest.permission.READ_CONTACTS, Manifest.permission.CALL_PHONE, Manifest.permission.READ_EXTERNAL_STORAGE}, 110);
        }

        ContentResolver resolver = getActivity().getContentResolver();
        Cursor cursor = resolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null, null);
        list.clear();
        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(name, number);
                list.add(person);
            }
        }
        cursor.close();
        adapter = new MyAdapter(list, getActivity());
        left.setAdapter(adapter);

        left.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                String number = list.get(position).getNumber();
                Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + number));
//                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(intent);
            }
        });


        return inflate;
    }


}

音乐

package com.example.day1025_exe.fragment;


import android.Manifest;
import android.app.Service;
import android.content.ComponentName;
import android.content.Intent;
import android.content.ServiceConnection;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
import android.os.IBinder;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.SeekBar;
import android.widget.TextView;

import com.example.day1025_exe.MusicService;
import com.example.day1025_exe.R;
import com.example.day1025_exe.bean.Music;
import com.example.day1025_exe.util.MusicUtils;

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

import static com.example.day1025_exe.MainActivity.listm;

/**
 * A simple {@link Fragment} subclass.
 */
public class MusicFragment extends Fragment {
    private static final String TAG = "MusicFragment";

    private ListView listView;
    private ImageView imageList;
    private TextView tvTitleList;
    private SeekBar seekList;
    private Button listList;
    private Button listLeft;
    private Button listStart;
    private Button listRight;


    private MusicAdapter adapter;
    private MusicService.MusicBinder binder;
    private boolean isplay = false;

    private Timer timer;

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


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View inflate = inflater.inflate(R.layout.fragment_music, container, false);
        initView(inflate);

        adapter = new MusicAdapter(listm, getActivity());
        listView.setAdapter(adapter);
        bindOstart();


        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                isplay = false;
                listStart.setBackgroundResource(R.drawable.playbar_btn_pause);
                binder.callPlay(position);

                if (timer != null) {
                    timer.cancel();
                }

                timer = new Timer();
                timer.schedule(new TimerTask() {
                    @Override
                    public void run() {
                        seekList.setMax(binder.callMusicMax());
                        seekList.setProgress(binder.callgetTime());
                    }
                }, 0, 1000);

            }
        });
        listStart.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (isplay) {
                    isplay = false;
                    binder.callReStart();
                    listStart.setBackgroundResource(R.drawable.playbar_btn_pause);
                } else {
                    isplay = true;
                    binder.callpause();
                    listStart.setBackgroundResource(R.drawable.playbar_btn_play);
                }
            }
        });

        seekList.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                if (fromUser) {
                    binder.callProcess(progress);
                }
            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {

            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {

            }
        });

        listLeft.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                binder.callBack();
            }
        });
        listRight.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                binder.callNext();
            }
        });


//        listView


        return inflate;
    }

    private void bindOstart() {
        Intent intent = new Intent(getActivity(), MusicService.class);
        getActivity().startService(intent);

        ServiceConnection connection = new ServiceConnection() {
            @Override
            public void onServiceConnected(ComponentName name, IBinder service) {
                binder = (MusicService.MusicBinder) service;
            }

            @Override
            public void onServiceDisconnected(ComponentName name) {

            }
        };

        getActivity().bindService(intent, connection, Service.BIND_AUTO_CREATE);
    }

    private void service_bind() {
        Intent intent = new Intent(getActivity(), MusicService.class);
        startActivity(intent);
        ServiceConnection connection = new ServiceConnection() {
            @Override
            public void onServiceConnected(ComponentName name, IBinder service) {
                binder = (MusicService.MusicBinder) service;
            }

            @Override
            public void onServiceDisconnected(ComponentName name) {
            }
        };
        getActivity().bindService(intent, connection, Service.BIND_AUTO_CREATE);
    }

    private void initView(View inflate) {
        listView = (ListView) inflate.findViewById(R.id.listView);
        imageList = (ImageView) inflate.findViewById(R.id.image_list);
        tvTitleList = (TextView) inflate.findViewById(R.id.tv_title_list);
        seekList = (SeekBar) inflate.findViewById(R.id.seek_list);
        listList = (Button) inflate.findViewById(R.id.list_list);
        listLeft = (Button) inflate.findViewById(R.id.list_left);
        listStart = (Button) inflate.findViewById(R.id.list_start);
        listRight = (Button) inflate.findViewById(R.id.list_right);
    }

}

//{
//        list = MusicUtils.getMusic(getActivity());
//        service_bind();
//
//        Log.d(TAG, "onCreateView: 阿斯顿法国和接口是对方过后" + "电饭锅123");
//
//        adapter = new MusicAdapter(list, getActivity());
//        listView.setAdapter(adapter);
//        }

点击

package com.example.day1025_exe.fragment;


import android.app.PendingIntent;
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.Button;
import android.widget.RemoteViews;

import com.example.day1025_exe.R;

import static android.support.v4.media.session.MediaControllerCompatApi21.getPackageName;

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


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


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View inflate = inflater.inflate(R.layout.fragment_three, container, false);

        Button button = inflate.findViewById(R.id.fm_but);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent1 = new Intent();
                intent1.setAction("com.music.blue");
                PendingIntent broadcast = PendingIntent.getBroadcast(this, 110, intent1, PendingIntent.FLAG_UPDATE_CURRENT);
            }
        });


        return inflate;
    }

}

activity

package com.example.day1025_exe;

import android.Manifest;
import android.app.Service;
import android.content.ComponentName;
import android.content.Intent;
import android.content.ServiceConnection;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.IBinder;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.design.widget.TabLayout;
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.util.Log;

import com.example.day1025_exe.bean.Music;
import com.example.day1025_exe.fragment.MusicFragment;
import com.example.day1025_exe.fragment.PersonFragment;
import com.example.day1025_exe.fragment.ThreeFragment;
import com.example.day1025_exe.fragment.WelFragment;
import com.example.day1025_exe.util.MusicUtils;

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

public class MainActivity extends AppCompatActivity {

    private static final String TAG = "MainActivity";
    private ViewPager viewpagerMain;
    private TabLayout tab;
    private List<Fragment> lists = new ArrayList<>();
    private List<String> list = new ArrayList<>();
    public static List<Music> listm = new ArrayList<>();

    public static MusicService.MusicBinder binder;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        sp();
        initView();
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.CALL_PHONE, Manifest.permission.READ_CONTACTS}, 100);
        } else {
            listm = MusicUtils.getMusic(this);
        }

    }



    private void viewp_page() {
        PersonFragment personFragment = new PersonFragment();
        lists.add(personFragment);
        MusicFragment musicFragment = new MusicFragment();
        ThreeFragment threeFragment = new ThreeFragment();
        lists.add(musicFragment);
        lists.add(threeFragment);

        list.add("联系人");
        list.add("音乐");
        list.add("按钮");

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

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

            @Nullable
            @Override
            public CharSequence getPageTitle(int position) {
                return list.get(position);

            }
        });
    }

    private void initView() {
        viewpagerMain = (ViewPager) findViewById(R.id.viewpager_main);
        tab = (TabLayout) findViewById(R.id.tab);

    }

    private void sp() {
        SharedPreferences wel = getSharedPreferences("log", MODE_PRIVATE);
        SharedPreferences.Editor edit = wel.edit();
        edit.putBoolean("islog", true);
        edit.apply();
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        if (requestCode == 100 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
            listm = MusicUtils.getMusic(this);

            viewp_page();
            tab.setupWithViewPager(viewpagerMain);
//            bindOstart();

        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值