Android学习笔记3-开发过程中一些常用操作

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();

 1.Context.openFileOutput(String name,int mode)开启一个与应用程序联系的私有文件输出流 

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();

//关闭输入流

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值