Activity
1.使用Intent 启动另一个Activity
//启动一个网页 Uri myUri = Uri.parse("http://www.flashwing.net"); Intent openBrowserIntent = new Intent(Intent.ACTION_VIEW,myUri); startActivity(openBrowserIntent); //打开一个新的Activity Intent openWelcomeActivityIntent=new Intent(); openWelcomeActivityIntent.setClass(this, TestActivity.class); startActivity(openWelcomeActivityIntent); |
2.从源Activity 中传递数据
//数据写入 Intent Intent openWelcomeActivityIntent=new Intent(); Bundle myBundelForName=new Bundle(); myBundelForName.putString("Key_Name",inName.getText().toString()); myBundelForName.putString("Key_Age",inAge.getText().toString()); openWelcomeActivityIntent.putExtras(myBundelForName); openWelcomeActivityIntent.setClass(AndroidBundel.this, Welcome.class); startActivity(openWelcomeActivityIntent);
|
目标Activity 中获取数据
//从Intent 中获取数据 Bundle myBundelForGetName=this.getIntent().getExtras(); String name=myBundelForGetName.getString("Key_Name"); myTextView_showName.setText("欢迎您进入:"+name);
|
3.使用Bundle 在Activity 间传递数据从源请求Activity 中通过一个Intent 把一个服务请求传到目标Activity 中
private Intent toNextIntent; //Intent 成员声明 toNextIntent=new Intent(); //Intent 定义 toNextIntent.setClass(TwoActivityME3.this, SecondActivity3.class); //设定开启的下一个 Activity startActivityForResult(toNextIntent, REQUEST_ASK);
|
在源请求Activity 中等待Intent 返回应答结果,通过重载onActivityResult()方法
protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(requestCode==REQUEST_ASK){ if(resultCode==RESULT_CANCELED){ setTitle("Cancel****"); }else if(resultCode==RESULT_OK){ showBundle=data.getExtras(); //从返回的Intent中获得 Bundle Name=showBundle.getString("myName"); //从bundle中获得相应数据 text.setText("the name get from the second layout:/n"+Name); } } } |
1.第一个参数是你开启请求Intent时的对应请求码,可以自己定义。
2.第二个参数是目标Activity返回的验证结果码
3.第三个参数是目标Activity返回的Intent 目标Activity 中发送请求结果代码,连同源Activity 请求的数据一同绑定到Bundle中通过Intent 传回源请求Activity 中
backIntent=new Intent(); stringBundle=new Bundle(); stringBundle.putString("myName", Name); backIntent.putExtras(stringBundle); setResult(RESULT_OK, backIntent); //返回Activity结果码 finish(); |
取得手机屏幕大小
DisplayMetrics displaysMetrics=new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(displaysMetrics); displaysMetrics.widthPixels; displaysMetrics.heightPixels |
UI相关
标题栏隐藏
在Activity.setCurrentView();之前调用此方法
private void HideTitle() { requestWindowFeature(Window.FEATURE_NO_TITLE); } |
状态栏隐藏(全屏)
在Activity.setCurrentView();之前调用此方法
private void HideStatusBar() { //隐藏标题 requestWindowFeature(Window.FEATURE_NO_TITLE); //定义全屏参数 int flag=WindowManager.LayoutParams.FLAG_FULLSCREEN; //获得窗口对象 Window myWindow=this.getWindow(); //设置Flag标识 myWindow.setFlags(flag,flag); } |
为程序添加Menu 菜单
public boolean onCreateOptionsMenu(Menu menu) { boolean result = super.onCreateOptionsMenu(menu); menu.add(0, INSERT_ID_Play, 0, R.string.menu_toPlay); menu.add(0, INSERT_ID_Stop, 0, R.string.menu_toStop); return result; } |
时间相关
/* 取得系统时间*/ long Time = System.currentTimeMillis(); myCalendar = Calendar.getInstance (); myCalendar.setTimeInMillis(Time); my_Hour = myCalendar.get(Calendar.HOUR); my_Minute = myCalendar.get(Calendar.MINUTE); my_Second = myCalendar.get(Calendar.SECOND); |
/* 从Calendar抽象基类获得实例对象,并设置成中国时区*/ my_Calendar = Calendar.getInstance(Locale.CHINA); /* 从日历对象中获取当前的:年、月、日、时、分*/ my_Year = my_Calendar.get(Calendar.YEAR); my_Month = my_Calendar.get(Calendar.MONTH); my_Day = my_Calendar.get(Calendar.DAY_OF_MONTH); my_Hour = my_Calendar.get(Calendar.HOUR_OF_DAY); my_Minute = my_Calendar.get(Calendar.MINUTE); |
DatePicker 可以监听系统日期的改变 DatePicker my_datePicker;
/* findViewById()从XML中获取UI元素对象*/ my_datePicker = (DatePicker) findViewById(R.id.my_DatePicker); /*为日历设置器添加点击事件监听器,处理设置日期事件*/ my_datePicker.init(my_Year, my_Month, my_Day, new DatePicker.OnDateChangedListener(){ public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) { /*日期改变事件处理*/ } }); |
TimePicker监听系统时间改变
/* 定义程序用到的UI元素对象:时间设置器*/ TimePicker my_timePicker; /* findViewById()从XML中获取UI元素对象*/ my_timePicker = (TimePicker) findViewById(R.id.my_TimePicker); /* 把时间设置成24小时制*/ my_timePicker.setIs24HourView(true); /*为时间设置器添加点击事件监听器,处理设置时间事件*/ my_timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener(){ public void onTimeChanged(TimePicker view, int hourOfDay, int minute) { /*时间改变事件处理*/ } }); |
OnDateSetListener 监听日期设定
private OnDateSetListener myDateSetListener=new OnDateSetListener() { public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {} }; |
OnTimeSetListener 时间改变设置事件监听器
private OnTimeSetListener myTimeSetListener=new OnTimeSetListener(){ public void onTimeSet(TimePicker view, int hourOfDay, int minute) { } }; |
文件相关 文件读写操作
FileInputStream in = this.openFileInput("test2.txt"); //打开文件"test2.txt" …… in.close(); |
2.当文件不存在时该文件将被创建
3.文件输出流可以在添加模式中打开,这意味新的数据将被添加到文件的末尾
FileOutputStream out = this.openFileOutput("test2.txt",MODE_APPEND); //打开文件"test2.txt"进行写操作、使用MODE_APPEND 在添加模式中打开文件 out.close();//关闭输出流 |
读取静态资源文件
1. 要打开打包在应用程序中的静态文件,使用resources.openRawResource(R.raw.mydatafile)
2.该文件必须放在文件夹res/raw/中
InputStreamin = this.getResources().openRawResource(R.raw.my); … //获得Context资源 in.close(); //关闭输入流 |