intentService获取网络数据广播发送
package com.example.day016;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
private Button start;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, MyIntentService.class);
startService(intent);
}
});
My my = new My();
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("com.bb");
registerReceiver(my,intentFilter);
}
private void initView() {
start = (Button) findViewById(R.id.start);
}
class My extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Bundle extras = intent.getExtras();
String json = extras.getString("json");
Log.i(TAG, "onReceive: "+json);
}
}
}
package com.example.day016;
import android.app.IntentService;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class MyIntentService extends IntentService {
private static final String TAG = "MyIntentService";
public MyIntentService() {
super("MyIntentService");
}
@Override
protected void onHandleIntent(Intent intent) {
StringBuffer sb=new StringBuffer();
HttpURLConnection connection=null;
InputStream inputStream=null;
try {
URL url=new URL("http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=20&page=1");
connection = (HttpURLConnection) url.openConnection();
if(connection.getResponseCode()==200){
inputStream = connection.getInputStream();
byte[] b=new byte[1024];
int len=0;
while((len=inputStream.read(b))!=-1){
sb.append(new String(b,0,len));
}
Intent intent1 = new Intent();
intent1.setAction("com.bb");
Bundle bundle = new Bundle();
bundle.putString("json",sb.toString());
intent1.putExtras(bundle);
sendBroadcast(intent1);
}
} catch (IOException e) {
e.printStackTrace();
}finally{
if(inputStream!=null){
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(connection!=null){
connection.disconnect();
}
}
}
}
Myhelp
package com.example.day009;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import androidx.annotation.Nullable;
public class Myhelp extends SQLiteOpenHelper {
private static final String TAG = "Myhelp";
public Myhelp(@Nullable Context context, @Nullable String name, @Nullable SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
Log.i(TAG, "onCreate: 创建Sql");
db.execSQL("CREATE TABLE student(\n" +
"id INTEGER PRIMARY KEY autoincrement,\n" +
"nam VARCHAR,\n" +
"age VARCHAR\n" +
"); ");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.i(TAG, "onUpgrade: 版本更新");
}
}
Noti通知
Notification.Builder builder = new Notification.Builder(this);
builder.setSmallIcon(R.mipmap.ic_launcher);
builder.setContentText("这是内容");
builder.setContentTitle("这是标题");
builder.setPriority(Notification.PRIORITY_MAX);
builder.setDefaults(Notification.DEFAULT_ALL);
builder.setVisibility(Notification.VISIBILITY_SECRET);
builder.setAutoCancel(true);
RemoteViews remoteViews = new RemoteViews(getPackageName(),R.layout.zdy_layout);
remoteViews.setTextViewText(R.id.zdy_name,"我的");
remoteViews.setTextViewText(R.id.zdy_but,"按");
remoteViews.setImageViewResource(R.id.zdy_img,R.mipmap.ic_launcher_round);
builder.setCustomContentView(remoteViews);
Intent intent = new Intent(this,MainActivity.class);
PendingIntent activity = PendingIntent.getActivity(this, 0, intent, 0);
builder.setContentIntent(activity);
Notification build = builder.build();
NotificationManager systemService = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
systemService.notify(1,build);
SD卡存储
requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE},1001);
public void read(View view) throws IOException {
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
FileInputStream fileInputStream = new FileInputStream(new File(Environment.getExternalStorageDirectory(), "text.txt"));
int len = 0 ;
StringBuffer stringBuffer = new StringBuffer();
byte[] bytes = new byte[1024];
while ((len = fileInputStream.read(bytes))!=-1){
stringBuffer.append(new String(bytes,0,len));
}
Toast.makeText(this, stringBuffer.toString()+"", Toast.LENGTH_SHORT).show();
}
}
public void write(View view) throws IOException {
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
FileOutputStream fileOutputStream = new FileOutputStream(new File(Environment.getExternalStorageDirectory(), "text.txt"));
fileOutputStream.write("这就是测试".getBytes());
fileOutputStream.flush();
fileOutputStream.close();
}
}
public void img_read(View view) throws IOException {
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
File externalStorageDirectory = Environment.getExternalStorageDirectory();
File file = new File(externalStorageDirectory, "tim.jpg");
Bitmap bitmap = BitmapFactory.decodeFile(file.getAbsolutePath());
img.setImageBitmap(bitmap);
}
}
public void img_write(View view) throws IOException {
new Mytask().execute();
}
class Mytask extends AsyncTask<String,Void,String>{
@Override
protected String doInBackground(String... strings) {
try {
URL url = new URL("http://www.qubaobei.com/ios/cf/uploadfile/132/9/8289.jpg");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
InputStream fileInputStream = connection.getInputStream();
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
FileOutputStream fileOutputStream = new FileOutputStream(new File(Environment.getExternalStorageDirectory(), "tim.jpg"));
int lne = 0;
byte[] bytes = new byte[1024];
while ((lne = fileInputStream.read(bytes)) != -1) {
fileOutputStream.write(bytes, 0, lne);
}
fileOutputStream.flush();
fileOutputStream.close();
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
}
}
TabLayout和ViewPager连用
package com.example.day007;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;
import androidx.viewpager.widget.ViewPager;
import com.google.android.material.tabs.TabLayout;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
private TabLayout tab;
private ViewPager vp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
ArrayList<Fragment> fragmentslist = new ArrayList<>();
fragmentslist.add(new BlankFragment());
fragmentslist.add(new BlankFragment());
fragmentslist.add(new BlankFragment());
fragmentslist.add(new BlankFragment());
fragmentslist.add(new BlankFragment());
fragmentslist.add(new BlankFragment());
fragmentslist.add(new BlankFragment());
fragmentslist.add(new BlankFragment());
fragmentslist.add(new BlankFragment());
fragmentslist.add(new BlankFragment());
ArrayList<String> titlelist = new ArrayList<>();
titlelist.add("足球");
titlelist.add("篮球");
titlelist.add("排球");
titlelist.add("排球");
titlelist.add("排球");
titlelist.add("排球");
titlelist.add("排球");
titlelist.add("排球");
titlelist.add("排球");
titlelist.add("排球");
Myadapter myadapter = new Myadapter(getSupportFragmentManager(),fragmentslist,titlelist);
vp.setAdapter(myadapter);
tab.setupWithViewPager(vp);
}
private void initView() {
tab = (TabLayout) findViewById(R.id.tab);
vp = (ViewPager) findViewById(R.id.vp);
}
class Myadapter extends FragmentPagerAdapter{
ArrayList<Fragment> fragmentslist;
ArrayList<String> titlelist;
public Myadapter(@NonNull FragmentManager fm, ArrayList<Fragment> fragmentslist, ArrayList<String> titlelist) {
super(fm);
this.fragmentslist = fragmentslist;
this.titlelist = titlelist;
}
@NonNull
@Override
public Fragment getItem(int position) {
return fragmentslist.get(position);
}
@Override
public int getCount() {
return fragmentslist.size();
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return titlelist.get(position);
}
}
}
菜单
package com.example.day002;
import android.graphics.Color;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.PopupMenu;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private TextView te;
private TextView te2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
te2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
PopupMenu popupMenu = new PopupMenu(MainActivity.this, te2);
popupMenu.inflate(R.menu.menu);
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
int id = item.getItemId();
switch (id) {
case R.id.one:
te.setTextColor(Color.parseColor("#ff0000"));
break;
case R.id.two:
te.setTextColor(Color.parseColor("#00ff00"));
break;
case R.id.three:
te.setTextColor(Color.parseColor("#0000ff"));
break;
}
return false;
}
});
popupMenu.show();
}
});
registerForContextMenu(te);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
getMenuInflater().inflate(R.menu.menu, menu);
super.onCreateContextMenu(menu, v, menuInfo);
}
@Override
public boolean onContextItemSelected(@NonNull MenuItem item) {
int id = item.getItemId();
switch (id) {
case R.id.one:
te.setTextColor(Color.parseColor("#ff0000"));
break;
case R.id.two:
te.setTextColor(Color.parseColor("#00ff00"));
break;
case R.id.three:
te.setTextColor(Color.parseColor("#0000ff"));
break;
}
return super.onContextItemSelected(item);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
int id = item.getItemId();
switch (id) {
case R.id.one:
Toast.makeText(this, item.getTitle() + "", Toast.LENGTH_SHORT).show();
break;
case R.id.two:
Toast.makeText(this, item.getTitle() + "", Toast.LENGTH_SHORT).show();
break;
case R.id.three:
Toast.makeText(this, "这是图片", Toast.LENGTH_SHORT).show();
break;
}
return super.onOptionsItemSelected(item);
}
private void initView() {
te = (TextView) findViewById(R.id.te);
te2 = (TextView) findViewById(R.id.te2);
}
}
传值
String string = et.getText().toString();
FragmentManager supportFragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = supportFragmentManager.beginTransaction();
OneFragment oneFragment = new OneFragment();
Bundle bundle = new Bundle();
bundle.putString("name", string);
oneFragment.setArguments(bundle);
fragmentTransaction.replace(R.id.ll, oneFragment);
fragmentTransaction.commit();
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View inflate = inflater.inflate(R.layout.fragment_one, container, false);
onefgTex = (TextView) inflate.findViewById(R.id.onefg_tex);
Bundle arguments = getArguments();
if (arguments!=null){
String name = arguments.getString("name");
onefgTex.setText(name);
}
return inflate;
}
短信
package com.example.day011;
import androidx.appcompat.app.AppCompatActivity;
import android.Manifest;
import android.content.ContentResolver;
import android.database.Cursor;
import android.os.Build;
import android.os.Bundle;
import android.provider.Telephony;
import android.view.View;
import android.widget.Toast;
public class Main2Activity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.M){
requestPermissions(new String[]{Manifest.permission.READ_SMS},100);
}
}
public void mar(View view) {
ContentResolver contentResolver = getContentResolver();
Cursor cursor = contentResolver.query(Telephony.Sms.CONTENT_URI, null, null, null, null);
if (cursor!=null){
while (cursor.moveToNext()) {
String address = cursor.getString(cursor.getColumnIndex(Telephony.Sms.ADDRESS));
String body = cursor.getString(cursor.getColumnIndex(Telephony.Sms.BODY));
Toast.makeText(this, address+"----"+body, Toast.LENGTH_SHORT).show();
}
}
}
}
广播
package com.example.day012;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.view.View;
public class Main4Activity extends AppCompatActivity {
private MyReceiver2 myReceiver2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main4);
}
public void send(View view) {
Intent intent = new Intent();
intent.setAction("com.wp");
Bundle bundle = new Bundle();
bundle.putString("message","默认值");
intent.putExtras(bundle);
sendOrderedBroadcast(intent,null);
}
public void send2(View view) {
Intent intent = new Intent();
intent.setAction("com.wp1");
Bundle bundle = new Bundle();
bundle.putString("message1","默认值222");
intent.putExtras(bundle);
sendBroadcast(intent);
}
public void d_send(View view) {
Intent intent = new Intent();
intent.setAction("com.wei");
Bundle bundle = new Bundle();
bundle.putString("message","默认值");
intent.putExtras(bundle);
sendBroadcast(intent);
}
public void d_send2(View view) {
Intent intent = new Intent();
intent.setAction("com.wei1");
Bundle bundle = new Bundle();
bundle.putString("message1","默认值222");
intent.putExtras(bundle);
sendBroadcast(intent);
}
@Override
protected void onDestroy() {
super.onDestroy();
unregisterReceiver(myReceiver2);
}
}
package com.example.day012;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
public class MyReceiver extends BroadcastReceiver {
private static final String TAG = "MyReceiver";
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals("com.wp")){
Bundle extras = intent.getExtras();
String message = extras.getString("message");
Log.i(TAG, "onReceive: "+message);
if (isOrderedBroadcast()){
abortBroadcast();
}
}else{
Bundle extras = intent.getExtras();
String message = extras.getString("message1");
Log.i(TAG, "onReceive: "+message);
}
}
}
进度条
final NotificationManager systemService = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
final Notification.Builder builder = new Notification.Builder(this);
builder.setSmallIcon(R.mipmap.ic_launcher);
builder.setContentText("进度条");
final Timer timer = new Timer();
timer.schedule(new TimerTask() {
int i = 0;
@Override
public void run() {
builder.setProgress(100,i,false);
i+=2;
systemService.notify(1,builder.build());
if (i>=100){
builder.setProgress(0,0,true);
systemService.notify(1,builder.build());
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
timer.cancel();
Notification.Builder builder2 = new Notification.Builder(MainActivity.this);
builder2.setSmallIcon(R.mipmap.ic_launcher_round);
builder2.setContentText("安装完成");
systemService.notify(1,builder2.build());
}
}
},0,100);
连接Service调用方法加提位置
package com.example.day014;
import android.content.ComponentName;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Bundle;
import android.os.IBinder;
import android.view.View;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private Button start;
private Button stop;
private Intent intent;
private ServiceConnection serviceConnection;
private MyService.MyBinder binder;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
intent = new Intent(MainActivity.this, MyService.class);
startService(intent);
}
});
stop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
stopService(intent);
}
});
}
private void initView() {
start = (Button) findViewById(R.id.start);
stop = (Button) findViewById(R.id.stop);
}
public void bind(View view) {
Intent intent = new Intent(MainActivity.this, MyService.class);
serviceConnection = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
binder = (MyService.MyBinder) service;
binder.callshow();
}
@Override
public void onServiceDisconnected(ComponentName name) {
}
};
bindService(intent,serviceConnection,BIND_AUTO_CREATE);
}
public void unbind(View view) {
if (serviceConnection!=null){
unbindService(serviceConnection);
}
}
public void bind2(View view) {
binder.callshow2();
}
}
package com.example.day014;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.Service;
import android.content.Intent;
import android.os.Binder;
import android.os.IBinder;
import android.util.Log;
import android.widget.Toast;
public class MyService extends Service {
public MyService() {
}
private static final String TAG = "MyService";
class MyBinder extends Binder{
public void callshow(){
show();
}
public void callshow2(){
show2();
}
}
@Override
public IBinder onBind(Intent intent) {
Log.i(TAG, "onBind: ");
return new MyBinder();
}
@Override
public void onCreate() {
super.onCreate();
Log.i(TAG, "onCreate: ");
Notification.Builder builder = new Notification.Builder(this);
builder.setAutoCancel(true);
builder.setSmallIcon(R.mipmap.ic_launcher);
builder.setDefaults(Notification.DEFAULT_ALL);
builder.setPriority(Notification.PRIORITY_MAX);
NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
startForeground(1,builder.build());
}
public void show(){
Log.i(TAG, "show: ");
Toast.makeText(this, "show", Toast.LENGTH_SHORT).show();
}
public void show2(){
Log.i(TAG, "show: ");
Toast.makeText(this, "show2222", Toast.LENGTH_SHORT).show();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.i(TAG, "onStartCommand: ");
return super.onStartCommand(intent, flags, startId);
}
@Override
public void onDestroy() {
super.onDestroy();
Log.i(TAG, "onDestroy: ");
}
@Override
public boolean onUnbind(Intent intent) {
Log.i(TAG, "onUnbind: ");
return super.onUnbind(intent);
}
}
联系人
package com.example.day011;
import android.Manifest;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
private ListView lv;
private ArrayList<String> list;
private static final String TAG = "MainActivity";
private SQLiteDatabase readableDatabase;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
requestPermissions(new String[]{Manifest.permission.READ_CONTACTS, Manifest.permission.CALL_PHONE}, 222);
}
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String s = list.get(position);
String[] split = s.split("!");
Toast.makeText(MainActivity.this, "点击", Toast.LENGTH_SHORT).show();
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:"+split[1]));
startActivity(intent);
}
});
Myhalp myhalp = new Myhalp(MainActivity.this, "A1809.db", null, 1);
readableDatabase = myhalp.getReadableDatabase();
}
public void call(View view) {
ContentResolver contentResolver = getContentResolver();
Cursor cursor = contentResolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null);
list = new ArrayList<>();
if (cursor != null) {
while (cursor.moveToNext()) {
String name = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
String call = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
list.add(name+"!"+call);
String sql ="select * from number where name=? and call+?";
Cursor cursor1 = readableDatabase.rawQuery(sql, new String[]{name, call});
if (cursor1!=null){
if (!cursor1.moveToNext()) {
ContentValues contentValues = new ContentValues();
contentValues.put("name",name);
contentValues.put("call",call);
readableDatabase.insert("number", null, contentValues);
}
}
cursor1.close();
}
cursor.close();
ArrayAdapter<String> stringArrayAdapter = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,list);
lv.setAdapter(stringArrayAdapter);
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == 222 && grantResults[0] == 0) {
} else {
}
}
private void initView() {
lv = (ListView) findViewById(R.id.lv);
}
public void showAll(View view) {
Cursor cursor = readableDatabase.query("number", null, null, null, null, null, null);
if (cursor != null) {
while (cursor.moveToNext()) {
String name = cursor.getString(cursor.getColumnIndex("name"));
String call = cursor.getString(cursor.getColumnIndex("call"));
String id = cursor.getString(cursor.getColumnIndex("id"));
Log.i(TAG, "showAll:id:"+id +"--name:"+name+"--call"+call+"\n");
}
}
}
}
两下退出
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode==KeyEvent.KEYCODE_BACK){
if (System.currentTimeMillis() - i >2000){
Toast.makeText(this, "再按结束", Toast.LENGTH_SHORT).show();
i=System.currentTimeMillis();
return true;
}else{
finish();
}
}
return super.onKeyDown(keyCode, event);
}
轮播
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
final ArrayList<Fragment> fragments = new ArrayList<>();
fragments.add(new OneFragment());
fragments.add(new TwoFragment());
fragments.add(new ThreekFragment());
MyFragmentAdapter myFragmentAdapter = new MyFragmentAdapter(getSupportFragmentManager(), fragments);
vwv.setAdapter(myFragmentAdapter);
final ArrayList<ImageView> imageViews = new ArrayList<>();
for (int i = 0; i <fragments.size() ; i++) {
final ImageView imageView = new ImageView(this);
imageView.setPadding(20,20,20,20);
imageView.setImageResource(R.drawable.yuan_f);
if (i==0){
imageView.setImageResource(R.drawable.yuan_t);
}
imageViews.add(imageView);
ll.addView(imageView);
}
for (int i = 0; i < imageViews.size(); i++) {
ImageView imageView = imageViews.get(i);
final int finalI = i;
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
vwv.setCurrentItem(finalI);
for (int z = 0; z < imageViews.size(); z++) {
ImageView imageView = imageViews.get(z);
if (z== finalI){
imageView.setImageResource(R.drawable.yuan_t);
}else{
imageView.setImageResource(R.drawable.yuan_f);
}
}
}
});
}
vwv.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
for (int i = 0; i < imageViews.size(); i++) {
ImageView imageView = imageViews.get(i);
if (i==position){
imageView.setImageResource(R.drawable.yuan_t);
}else{
imageView.setImageResource(R.drawable.yuan_f);
}
}
if (position == fragments.size() - 1) {
Toast.makeText(MainActivity.this, "最后一页", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
}
private void initView() {
vwv = (ViewPager) findViewById(R.id.vwv);
ll = (LinearLayout) findViewById(R.id.ll);
}
class MyFragmentAdapter extends FragmentPagerAdapter {
private ArrayList<Fragment> fragments;
public MyFragmentAdapter(@NonNull FragmentManager fm, ArrayList<Fragment> fragments) {
super(fm);
this.fragments = fragments;
}
@NonNull
@Override
public Fragment getItem(int position) {
return fragments.get(position);
}
@Override
public int getCount() {
return fragments.size();
}
}
内部map存储SP
public void du(View view) {
SharedPreferences.Editor edit = getSharedPreferences("one", MODE_PRIVATE).edit();
edit.putBoolean("bool",true);
edit.putString("string","这是一个字符串");
edit.putFloat("flot",1.1f);
edit.putInt("it",3);
edit.putLong("long",11111111);
edit.commit();
}
public void xie(View view) {
SharedPreferences one = getSharedPreferences("one", MODE_PRIVATE);
boolean bool = one.getBoolean("bool", false);
int it = one.getInt("it", 333);
String string = one.getString("strin", "这是取不到的默认值");
Toast.makeText(this, it+":"+string, Toast.LENGTH_SHORT).show();
}
内部open储存
write.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
FileOutputStream fileOutputStream = openFileOutput("aa.txt", MODE_PRIVATE);
fileOutputStream.write("这是默认值".getBytes());
fileOutputStream.close();
fileOutputStream.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
read.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
FileInputStream fileInputStream = openFileInput("aa.txt");
int len = 0;
StringBuffer stringBuffer = new StringBuffer();
byte[] bytes = new byte[1024];
while ((len=fileInputStream.read(bytes))!=-1){
stringBuffer.append(new String(bytes,0,len));
}
Toast.makeText(MainActivity.this, stringBuffer.toString()+"", Toast.LENGTH_SHORT).show();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
软件之间Service通讯返回
package com.example.day018;
import androidx.appcompat.app.AppCompatActivity;
import android.content.ComponentName;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Bundle;
import android.os.IBinder;
import android.os.RemoteException;
import android.widget.Toast;
import aidl.IMyAidlInterface;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = new Intent();
intent.setPackage("com.example.day017");
intent.setAction("com.nansil");
ServiceConnection serviceConnection = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
IMyAidlInterface iMyAidlInterface = IMyAidlInterface.Stub.asInterface(service);
try {
int add = iMyAidlInterface.add(3, 4);
int jian = iMyAidlInterface.jian(8, 7);
Toast.makeText(MainActivity.this, add+"加法", Toast.LENGTH_SHORT).show();
Toast.makeText(MainActivity.this, jian+"减法", Toast.LENGTH_SHORT).show();
} catch (RemoteException e) {
e.printStackTrace();
}
}
@Override
public void onServiceDisconnected(ComponentName name) {
}
};
bindService(intent,serviceConnection,BIND_AUTO_CREATE);
}
}
package com.example.day017;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.os.RemoteException;
import aidl.IMyAidlInterface;
public class MyService extends Service {
public MyService() {
}
IMyAidlInterface.Stub stub = new IMyAidlInterface.Stub() {
@Override
public int add(int a, int b) throws RemoteException {
return a+b;
}
@Override
public int jian(int a, int b) throws RemoteException {
return a-b;
}
};
@Override
public IBinder onBind(Intent intent) {
return stub;
}
}
事务
final FragmentManager manager = getSupportFragmentManager();
final FragmentTransaction fragmentTransaction = manager.beginTransaction();
fragmentTransaction.add(R.id.ll, oneFragment);
fragmentTransaction.add(R.id.ll, twoBlankFragment);
fragmentTransaction.hide(oneFragment);
fragmentTransaction.hide(twoBlankFragment);
数据库外部软件获取
package com.example.day009;
import android.content.ContentProvider;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.net.Uri;
public class MyContentProvider extends ContentProvider {
private SQLiteDatabase readableDatabase;
public MyContentProvider() {
}
@Override
public int delete(Uri uri, String selection, String[] selectionArgs) {
return readableDatabase.delete("student",selection,selectionArgs);
}
@Override
public String getType(Uri uri) {
throw new UnsupportedOperationException("Not yet implemented");
}
@Override
public Uri insert(Uri uri, ContentValues values) {
readableDatabase.insert("student",null,values);
return uri;
}
@Override
public boolean onCreate() {
Myhelp myhelp = new Myhelp(getContext(), "A1809.db",null, 2);
readableDatabase = myhelp.getReadableDatabase();
if (readableDatabase!=null){
return true;
}
return false;
}
@Override
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
Cursor student = readableDatabase.query("student", projection, selection, selectionArgs, null, null, sortOrder);
return student;
}
@Override
public int update(Uri uri, ContentValues values, String selection,
String[] selectionArgs) {
return readableDatabase.update("student",values,selection,selectionArgs);
}
}
package com.example.day010;
import androidx.appcompat.app.AppCompatActivity;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private ContentResolver contentResolver;
private Uri parse;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
contentResolver = getContentResolver();
parse = Uri.parse("content://com.wei");
}
public void selet(View view) {
Cursor cursor = contentResolver.query(parse, null, null, null, null);
if (cursor!=null){
while (cursor.moveToNext()){
String nam = cursor.getString(cursor.getColumnIndex("nam"));
String age = cursor.getString(cursor.getColumnIndex("age"));
String id = cursor.getString(cursor.getColumnIndex("id"));
Toast.makeText(this, nam+age+id+"", Toast.LENGTH_SHORT).show();
}
cursor.close();
}
}
public void insert(View view) {
ContentValues contentValues = new ContentValues();
contentValues.put("nam","孙悟空");
contentResolver.insert(parse, contentValues);
}
public void updata(View view) {
ContentValues contentValues = new ContentValues();
contentValues.put("nam","憋");
contentResolver.update(parse,contentValues,"id=?",new String[]{"2"});
}
public void delet(View view) {
contentResolver.delete(parse,"id=?",new String[]{"3"});
}
}
数据库增删改查
package com.example.day009;
import androidx.appcompat.app.AppCompatActivity;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
SQLiteDatabase readableDatabase;
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Myhelp myhelp = new Myhelp(MainActivity.this,"A1809.db",null,2);
readableDatabase = myhelp.getReadableDatabase();
}
public void insert(View view) {
readableDatabase.beginTransaction();
String sql = "insert into student values(null,?,?)";
readableDatabase.execSQL(sql,new Object[]{"老王","22"});
int z = 10/0;
String sql2 = "delete from student where id=? ";
readableDatabase.execSQL(sql2,new Object[]{3});
readableDatabase.setTransactionSuccessful();
readableDatabase.endTransaction();
}
public void select(View view) {
String sql = "select * from student";
Cursor cursor = readableDatabase.rawQuery(sql, null);
if (cursor!=null){
while (cursor.moveToNext()){
String nam = cursor.getString(cursor.getColumnIndex("nam"));
String age = cursor.getString(cursor.getColumnIndex("age"));
String id = cursor.getString(cursor.getColumnIndex("id"));
Toast.makeText(this, nam+age+id+"", Toast.LENGTH_SHORT).show();
}
cursor.close();
}
}
public void update(View view) {
String sql = "update student set nam=? where id=? ";
readableDatabase.execSQL(sql,new Object[]{"二嘎子",3});
}
public void delete(View view) {
String sql = "delete from student where id=? ";
readableDatabase.execSQL(sql,new Object[]{5});
}
@Override
protected void onDestroy() {
super.onDestroy();
readableDatabase.close();
}
}
所有普通弹框
package com.example.day001;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.app.DatePickerDialog;
import android.app.ProgressDialog;
import android.app.TimePickerDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.DatePicker;
import android.widget.TimePicker;
import android.widget.Toast;
import java.util.Calendar;
import java.util.Timer;
import java.util.TimerTask;
public class Main2Activity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
}
public void text11(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setIcon(R.mipmap.ic_launcher);
builder.setTitle("温馨提示");
builder.setNegativeButton("关闭", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(Main2Activity.this, "关闭", Toast.LENGTH_SHORT).show();
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(Main2Activity.this, "确定", Toast.LENGTH_SHORT).show();
}
});
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
public void text22(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setIcon(R.mipmap.ic_launcher);
builder.setTitle("温馨提示");
final String[] s ={"男人","女人","孩子"};
builder.setSingleChoiceItems(s, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(Main2Activity.this, s[which]+"", Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("关闭", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(Main2Activity.this, "关闭", Toast.LENGTH_SHORT).show();
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(Main2Activity.this, "确定", Toast.LENGTH_SHORT).show();
}
});
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
public void text33(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setIcon(R.mipmap.ic_launcher);
builder.setTitle("温馨提示");
final String[] s ={"足球","篮球","排球"};
final boolean[] b={true,true,true};
builder.setMultiChoiceItems(s, b, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
for (int i = 0; i < b.length; i++) {
if (b[i]){
Toast.makeText(Main2Activity.this, s[i]+"", Toast.LENGTH_SHORT).show();
}
}
}
});
builder.setCancelable(true);
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
public void text44(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setIcon(R.mipmap.ic_launcher);
builder.setTitle("温馨提示");
View inflate = LayoutInflater.from(this).inflate(R.layout.zdy_layout, null);
builder.setView(inflate);
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
public void text55(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setIcon(R.mipmap.ic_launcher);
builder.setTitle("温馨提示");
final String[] s ={"足球","篮球","排球"};
builder.setItems(s, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(Main2Activity.this, s[which]+"", Toast.LENGTH_SHORT).show();
}
});
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
public void text66(View view) {
final ProgressDialog progressDialog = new ProgressDialog(this);
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setMax(100);
progressDialog.setTitle("温馨提示");
progressDialog.setIcon(R.mipmap.ic_launcher);
final Timer timer = new Timer();
timer.schedule(new TimerTask() {
int i=0;
@Override
public void run() {
i++;
progressDialog.setProgress(i);
if (i==progressDialog.getMax()){
timer.cancel();
progressDialog.dismiss();
}
}
},0,100);
progressDialog.show();
}
public void text77(View view) {
Calendar calendar = Calendar.getInstance();
new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
Toast.makeText(Main2Activity.this, year+"年"+month+"月"+dayOfMonth+"日", Toast.LENGTH_SHORT).show();
}
},calendar.get(Calendar.YEAR),calendar.get(Calendar.MONTH),calendar.get(Calendar.DAY_OF_MONTH)).show();
}
public void text88(View view) {
Calendar c = Calendar.getInstance();
new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
Toast.makeText(Main2Activity.this, hourOfDay+"点"+minute+"分", Toast.LENGTH_SHORT).show();
}
},c.get(Calendar.HOUR_OF_DAY),c.get(Calendar.MINUTE),true).show();
}
}
验证码
package com.example.day012;
import android.Manifest;
import android.content.ContentResolver;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.os.Message;
import android.provider.Telephony;
import android.widget.EditText;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private EditText edit;
private Handler handler = new Handler(){
@Override
public void handleMessage(@NonNull Message msg) {
super.handleMessage(msg);
String obj = (String) msg.obj;
edit.setText(obj);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.M){
requestPermissions(new String[]{Manifest.permission.READ_SMS},100);
}
ContentResolver contentResolver = getContentResolver();
Myob myob = new Myob(handler,contentResolver);
contentResolver.registerContentObserver(Telephony.Sms.CONTENT_URI,true,myob);
}
private void initView() {
edit = (EditText) findViewById(R.id.edit);
}
}
.
private ContentResolver contentResolver;
private Handler handler;
public Myob(Handler handler, ContentResolver contentResolver) {
super(handler);
this.contentResolver = contentResolver;
this.handler=handler;
}
@Override
public void onChange(boolean selfChange) {
super.onChange(selfChange);
Cursor query = contentResolver.query(Telephony.Sms.CONTENT_URI, null, null, null, null);
if (query!=null){
query.moveToFirst();
String string = query.getString(query.getColumnIndex(Telephony.Sms.BODY));
Message obtain = Message.obtain();
obtain.obj=string;
handler.sendMessage(obtain);
}
}
真自定义可修改弹框
package com.example.day001;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
public class MyDialogtwo extends Dialog {
private Button xx;
private TextView txtt;
private Button on;
private Button yes;
private String strtxtt;
public void setStrtxtt(String strtxtt) {
this.strtxtt = strtxtt;
}
public MyDialogtwo(@NonNull Context context) {
super(context);
}
public interface MyonClick{
void OnClick();
}
private MyonClick myonClick;
public void setMyonClick(MyonClick myonClick) {
this.myonClick = myonClick;
}
public interface MyyesClick{
void OnClick();
}
private MyyesClick myyesClick;
public void setMyyesClick(MyyesClick myyesClick) {
this.myyesClick = myyesClick;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pj_layout);
initView();
if (strtxtt!=null){
txtt.setText(strtxtt);
}
xx.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getContext(), "关闭成功", Toast.LENGTH_SHORT).show();
dismiss();
}
});
on.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
myonClick.OnClick();
dismiss();
}
});
yes.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
myyesClick.OnClick();
dismiss();
}
});
}
private void initView() {
xx = (Button) findViewById(R.id.xx);
txtt = (TextView) findViewById(R.id.txtt);
on = (Button) findViewById(R.id.on);
yes = (Button) findViewById(R.id.yes);
}
}