Android (5)

Primero, el archivo de configuración en actividad

    Cuando no usemos orientación, cree una nueva clase. Para convertirlo en una interfaz de salto, debe registrar la clase recién creada en el archivo de configuración y escribirla en la etiqueta de la aplicación del archivo de configuración AndroidManifest.XML

		<activity 
            android:name=".B"
            android:label="@string/app_name">//android:label="B">这个是一个标签,可以改名字
		 </activity>
2. La actividad devuelve información
  1. la actividad devuelve confianza
    	//在A界面中--------------------------------
    	public void toB(View v){
    		Button btnlogin=(Button)findViewById(R.id.login);
    		EditText user=(EditText)findViewById(R.id.username);
    		String username=user.getText().toString();
    		Intent intent=new Intent();
    		intent.putExtra("name", username);
    		intent.setClass(MainActivity.this, B.class);
    		//startActivity(intent);
    		startActivityForResult(intent, 1);//注意这里,需要回传信息,就需要把上面的句子换成下面的句子,返回一个结果,参数为跳转页面和状态码
    	}
    	//需要在oncreate函数外面再写一个函数,如下
    	protected void onActivityResult(int requestCode,int resultCode,Intent data){//第一个参数为请求码(在上面写的时候可以自己设置),第二个参数为返回结果码值(该值在跳转到的界面里面result里面设置)
    		if(requestCode==1&&resultCode==2){
    			String result=data.getStringExtra("result");//返回页面设置的字符串,从这里获得
    			Toast.makeText(getApplicationContext(), result, Toast.LENGTH_SHORT).show();
    		}
    	}
    	//写在B界面中----------------------------------
    	public void backA(View v){//按钮点击事件
    		Intent intent=new Intent();
    		intent.putExtra("result", "你已登录");
    		setResult(2,intent);//设置返回页(注意:除了返回密码,后面还有一个界面跳转意图intent)
    		finish();//结束当前界面
    	}
    
  2. Texto de configuración simple (versión simplificada)
    	if(requestCode==1&&resultCode==3){
    			TextView text=(TextView) findViewById(R.id.textView3);
    			text.setText("你已登录···············");
    	}	
    	public void backA(View v){ 
    		setResult(3);//也可以直接返回状态码,简单的像上面一样设置文本
    		finish();//结束当前界面
    	}
    
3. Broadcast (función anti-pérdida)
  1. Crea una transmisión estática
    		public void onClick(View arg0) {//点击事件创建
    			Intent intent=new Intent(MainActivity.this,BroadCastReceiver.class);//直接把跳转类的setclass()合并到这里
    			sendBroadcast(intent);//发送广播	
    		}
    	//接收广播需要新建一个Java文件,创建接收器基本结构
    		public class BroadCastReceiver extends BroadcastReceiver{//广播 接受器基本结构
    			public void onReceive(Context arg0, Intent arg1) {
    				Toast.makeText(arg0, "接收到广播了", Toast.LENGTH_SHORT).show();
    			}
    		}
    	//配置文件中配置新建的接收器文件(放在AndroidManifest.XML中的)
    		<receiver 
    			android:name="com.example.broad.BroadCastReceiver">
    		</receiver>
    
  2. Crear una transmisión dinámica (es necesario crear un nuevo archivo Java como receptor de transmisión, no es necesario crear un archivo de configuración)
    2.1 Esto debe colocarse en la pestaña del archivo de configuración del archivo Java del receptor de transmisión, pero no se requiere dinámica, directamente en el archivo Java de la interfaz principal Escriba en chino, como sigue 2.2
    		<intent-filter >
    			<action
    				android:name="android.net.conn.CONNECTIVITY_CHANGE">     //过滤条件,就是2.2中的过滤条件
    		</intent-filter>
    
    2.2 (escrito en la función onCreate)
    		//动态创建广播(监测系统广播)
    		   BroadCastReceiver myBroadCast=new BroadCastReceiver();//声明一个广播对象
    		   IntentFilter it=new IntentFilter();//过滤器
    		   it.addAction("android.net.conn.CONNECTIVITY_CHANGE");//增加过滤条件 ,注册(相当于在配置文件中配置)
    		   registerReceiver(myBroadCast, it);//注册接收器(第一个参数:广播的名称,第二个参数:过滤的条件)
    		}
    
    2.3 Nota ***
    		 //动态注册的广播,程序完全关闭时,尽量注销掉
    		protected void onDestroy() {
    			super.onDestroy();
    			unregisterReceiver(myBroadCast);//当程序完全关闭时,注销掉广播
    		}
    
    2.4 La diferencia entre la transmisión dinámica y la transmisión estática
    1> No se requiere un archivo de configuración
    2> El primero es que el archivo de transmisión está allí sin importar si es un interruptor de software. En el segundo, la transmisión se puede cerrar a medida que se cierra el software.
  3. Monitoreo de transmisión entre dos aplicaciones
    1> a_app
    3.1 a_app requiere una clase de receptor de transmisión MyBroadCastReceiver extiende BroadcastReceiver
    3.2 El receptor de transmisión debe escribir las características de un software de monitoreo específico Private String action = "com.example.broadcast.MY_self"; //com.example.broadcast.MY_self puede ser propio. Escribir
    3.3 Agregue un juicio if en onReceive para que coincida con las características
    			public void onReceive(Context context, Intent intent) {
    				if(action.equals(intent.getAction())){//action为上面设置设置的要监听的软件的特征
    					Toast.makeText(context, "嘿嘿被我逮到了吧", Toast.LENGTH_SHORT).show();
    				}
    			}
    
    3.4 Agregar una etiqueta en el archivo de configuración de a_app (registrar receptor de difusión)
    			<receiver 
    				android:name="com.example.a_app.MyBroadCastReceiver">
    				<intent-filter >  //过滤器标签
    					<action android:name="com.example.broadcast.MY_self"/>   //在过滤器中加要监听的特征
    				</intent-filter>
    			</receiver>
    
    2> b_app
    1.b_app necesita agregar sus propias características en la configuración específica del evento de clic en el archivo Java de la interfaz principal
    			Intent intent=new Intent();
    			intent.setAction("com.example.broadcast.MY_self");//设置自己特征
    			sendBroadcast(intent);//发送广播
    
4. Solicitud de clic de imagen (el uso por lotes del interruptor es más conveniente)
	public void onClick(View arg0) {
		switch (arg0.getId()) {
		case R.id.mar1:Toast.makeText(getApplicationContext(), "钢铁侠", 2).show();
			break;
		case R.id.mar2:Toast.makeText(getApplicationContext(), "mar2", 2).show();
			break;
		default:
			break;
		}
	}
Publicado 72 artículos originales · elogiado 3 · visitas 3564

Supongo que te gusta

Origin blog.csdn.net/id__39/article/details/104775700
Recomendado
Clasificación