@[toc] 作业
欢迎页面
activity
package com.example.exercise_four;
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 android.view.View;
import android.widget.Button;
import java.util.ArrayList;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
public class Wel_Activity extends AppCompatActivity {
private ViewPager pager;
private List<Fragment> lists = new ArrayList<>();
private Timer timer;
private Button button;
private int index = 0;
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case 100:
pager.setCurrentItem(index);
index++;
if (index == lists.size()) {
index = 0;
timer.cancel();
}
break;
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_wel_);
pager = findViewById(R.id.viewpager);
button = findViewById(R.id.wel_but);
SharedPreferences preferences = getSharedPreferences("wel", MODE_PRIVATE);
boolean wel = preferences.getBoolean("isWel",false);
if(wel){
Intent intent = new Intent(Wel_Activity.this, Register_Activity.class);
startActivity(intent);
}
for (int i = 0; i < 3; i++) {
Wel_Fragment fragment = new Wel_Fragment();
String str = "这是第" + (i + 1) + "个fragment";
Bundle bundle = new Bundle();
bundle.putString("msg", str);
fragment.setArguments(bundle);
lists.add(fragment);
}
pager.setAdapter(new FragmentStatePagerAdapter(getSupportFragmentManager()) {
@Override
public Fragment getItem(int i) {
return lists.get(i);
}
@Override
public int getCount() {
return lists.size();
}
});
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Wel_Activity.this, Register_Activity.class);
startActivity(intent);
finish();
}
});
// pager.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) {
// button.setVisibility(View.VISIBLE);
// }
// }
//
// @Override
// public void onPageScrollStateChanged(int i) {
//
// }
// });
pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int i, float v, int i1) {
}
@Override
public void onPageSelected(int i) {
if (i == lists.size() - 1) {
button.setVisibility(View.VISIBLE);
}else {
button.setVisibility(View.GONE);
}
}
@Override
public void onPageScrollStateChanged(int i) {
}
});
timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
handler.sendEmptyMessage(100);
}
}, 0, 1000);
}
}
fragment
package com.example.exercise_four;
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.TextView;
/**
* A simple {@link Fragment} subclass.
*/
public class Wel_Fragment extends Fragment {
public Wel_Fragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout for this fragment
View inflate = inflater.inflate(R.layout.fragment_wel_, container, false);
TextView textView = inflate.findViewById(R.id.wel_tv);
Bundle arguments = getArguments();
if(arguments != null){
String msg = arguments.getString("msg");
textView.setText(msg);
}
return inflate;
}
}
注册
activity
package com.example.exercise_four;
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 java.util.regex.Pattern;
public class Register_Activity extends AppCompatActivity {
private static final String TAG = "Register_Activity";
private EditText usernameReg;
private EditText passwordReg;
private EditText passwordAllow;
private Button regBut;
private ContentResolver resolver;
private Uri uri;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register_);
usernameReg = (EditText) findViewById(R.id.username_reg);
passwordReg = (EditText) findViewById(R.id.password_reg);
passwordAllow = (EditText) findViewById(R.id.password_allow);
regBut = (Button) findViewById(R.id.reg_but);
SharedPreferences wel = getSharedPreferences("wel", MODE_PRIVATE);
SharedPreferences.Editor edit = wel.edit();
edit.putBoolean("isWel", true);
edit.apply();
resolver = getContentResolver();
uri = Uri.parse("content://com.lae.sql");
Log.i(TAG, "onCreate: 1234");
regBut.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = usernameReg.getText().toString();
String pwd = passwordReg.getText().toString();
String pwd_allow = passwordAllow.getText().toString();
String regex = "[1][3,5,6,7,8,9][0-9]{9}";
Pattern compile = Pattern.compile(regex);
boolean matches = compile.matcher(name).matches();
Log.i(TAG, "onClick: 4321");
if (matches) {
Log.i(TAG, "onClick: 1221");
if (pwd.equals(pwd_allow) &&pwd.length() >= 12 && pwd.length() <= 18) {
ContentValues values = new ContentValues();
values.put("name", name);
values.put("password", pwd);
resolver.insert(uri, values);
Intent intent = new Intent(Register_Activity.this, Login_Activity.class);
startActivity(intent);
finish();
Log.i(TAG, "onClick: 成功了");
} else {
Log.i(TAG, "onClick: 失败了");
}
}
}
});
}
}
登录
activity
package com.example.exercise_four;
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 java.util.regex.Pattern;
public class Login_Activity extends AppCompatActivity {
private EditText username;
private EditText password;
private Button loginBut;
private ContentResolver resolver;
private Uri uri;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login_);
username = (EditText) findViewById(R.id.username);
password = (EditText) findViewById(R.id.password);
loginBut = (Button) findViewById(R.id.login_but);
SharedPreferences log = getSharedPreferences("log", MODE_PRIVATE);
boolean isLog = log.getBoolean("isLog", false);
if (isLog) {
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
}
resolver = getContentResolver();
uri = Uri.parse("content://com.lae.sql");
loginBut.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = username.getText().toString();
String pwd = password.getText().toString();
String regex = "[1][3,5,6,7,8,9][0-9]{9}";
Pattern compile = Pattern.compile(regex);
boolean matches = compile.matcher(name).matches();
if (matches && pwd.length() >= 12 && pwd.length() <= 18) {
Cursor cursor = resolver.query(uri, null, null, null, null);
if (cursor != null) {
while (cursor.moveToNext()) {
String name1 = cursor.getString(cursor.getColumnIndex("name"));
String pwd1 = cursor.getString(cursor.getColumnIndex("password"));
if(name.equals(name1) && pwd.equals(pwd1)){
Intent intent = new Intent(Login_Activity.this, MainActivity.class);
startActivity(intent);
}
}
}
cursor.close();
}
}
});
}
}
主页面
activity
package com.example.exercise_four;
import android.Manifest;
import android.content.ContentResolver;
import android.content.Intent;
import android.content.SharedPreferences;
import android.database.Cursor;
import android.net.Uri;
import android.provider.ContactsContract;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;
import com.example.exercise_four.javaBean.Person;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
private ListView listView;
private ContentResolver resolver;
private List<Person> lists = new ArrayList<>();
private MyAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = findViewById(R.id.listview);
requestPermissions(new String[]{Manifest.permission.READ_CONTACTS}, 100);
Uri uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
resolver = getContentResolver();
SharedPreferences log = getSharedPreferences("log", MODE_PRIVATE);
SharedPreferences.Editor edit = log.edit();
edit.putBoolean("isLog", true);
edit.apply();
Log.i(TAG, "onCreate: 运行到这里来");
Cursor cursor = resolver.query(uri, 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();
}
Log.i(TAG, "onCreate: 去玩儿法");
adapter = new MyAdapter(lists, this);
Log.i(TAG, "onCreate: 去玩儿法1");
listView.setAdapter(adapter);
Log.i(TAG, "onCreate: 去玩儿法2");
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// Toast.makeText(MainActivity.this, "阿斯顿法国和接口是对方过后", Toast.LENGTH_SHORT).show();
String number = lists.get(position).getNumber();
Intent intent = new Intent(Intent.ACTION_DIAL);
Uri data = Uri.parse("tel:" + number);
intent.setData(data);
startActivity(intent);
}
});
}
}
适配器
package com.example.exercise_four;
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.exercise_four.javaBean.Person;
import java.util.List;
class MyAdapter extends BaseAdapter {
private List<Person> lists;
private Context context;
public MyAdapter(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_item,null);
holder.textView1 = convertView.findViewById(R.id.name);
holder.textView2 = convertView.findViewById(R.id.number);
convertView.setTag(holder);
}else {
holder = (ViewHolder) convertView.getTag();
}
holder.textView1.setText(lists.get(position).getName());
holder.textView2.setText(lists.get(position).getNumber());
return convertView;
}
private class ViewHolder {
private TextView textView1,textView2;
}
}