`
凌宇明1
  • 浏览: 950 次
文章分类
社区版块
存档分类
最新评论

第三天android---------实现对应的接口

 
阅读更多

今天主要是学习了安卓中如何实现安卓提供的各种接口,或者说功能块,比如说打电话,发短信这种需要权限,涉及系统安全的操作。下面,,开始实现打电话和发短信


打电话
我实现的界面如下(运用了表格布局):



按键可以做好看一点,但是感觉太麻烦,就直接用button了,它的定义如下:

            <Button
                android:id="@+id/button1"
                android:layout_width="100dp"
                android:layout_height="70dp"
                android:onClick="digital_click"    //全部绑定同一个事件
                android:text="1" />     //存放值,

 按键对应的事件如下

	 public void digital_click(View view){
		  
		 Button btnDigital=(Button) view;
  	     String text=btnDigital.getText().toString();  
  	     a=a+text;
  	    textResult.setText(a.toString());

  }

 就是简单的读取该按键的值,并将它加到现在的字符串的后面,显示到对应的显示框中。

 

拨打按键对应的事件如下:

	 public void dial(View view) {
			
		 String number=textResult.getText().toString();
		Intent intent = new Intent();
		intent.setAction(intent.ACTION_CALL);
		intent.setData(Uri.parse("tel:"+number));
		startActivity(intent);//方法内部会自动为Intent添加类别:  android.intent.category.DEFAULT

		 }

 它主要是得到当前输入的号码,并调用Intent来实现打电话,可以说这一段是关键点,不过,在运行之前,还要在对应的对方加入下面的代码来获取权限

      <uses-permission  android:name="android.permission.CALL_PHONE"/>
      <uses-permission   android:name="android.permission.VIBRATE" />

 

 而页面中的删除按键,是来删除字符串的最后一个字符,比较简单,不再说明。

 

其中的新建联系人,也是一个按键,它绑定的事件如下:

	 public void addContact(View view){  
         Intent it = new Intent(Intent.ACTION_INSERT,Uri.withAppendedPath(Uri.parse("content://com.android.contacts"),"contacts" ));  
         it.setType("vnd.android.cursor.dir/person");  
         String number = textResult.getText().toString();  //得到号码
         it.putExtra(android.provider.ContactsContract.Intents.Insert.SECONDARY_PHONE,number);  
         startActivity(it);  
           
     }  

 主要是得到当前输入的号码,跳转并传递号码给系统的新建联系人页面。

 

至于短信,我是这样实现的:

 

这个是短信页面(虽然点击发送,它不是直接发送,而是跳转到系统的发送短信页面),它同样是实现了发送短信的接口,接口的实现如下:

	 public void send(View view){  
		 
		    String telMsg=message.this.tel.getText().toString();
			String contentMsg=message.this.content.getText().toString();
			
			Uri uri=Uri.parse("smsto:"+telMsg);//接收人手机
			Intent it=new Intent();
			
			it.setAction(Intent.ACTION_SENDTO);//指定action,我要发短信
			it.putExtra("sms_body", contentMsg);//设置信息内容
			it.setType("vnd.android-dir/mms-sms") ;//设置MIME类型
			it.setData(uri);//设置数据,要去的地方	
			message.this.startActivity(it);
           
     } 

 在实现这个页面的时候,我想让前面的页面将用户可能输入的号码传递给该页面,最后我在网上找到了这样一个实现方法:

	 public void send_message(View view){  //在前一个页面对应的按键中绑定该事件,用来跳转和传值
		 
		 String number=textResult.getText().toString();  //得到号码
		   Intent intent=new Intent();
	    	intent.setClass(bo_hao.this, message.class);
	    	intent.putExtra(to_you, number);	/将号码和一个前面定义的变量绑定
	    	bo_hao.this.startActivity(intent);
           
     }  

 而在短信页面,实现下面的代码:

	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.message);
		
		Intent intent =getIntent();   //相当于建立连接
		String to_you=intent.getStringExtra(bo_hao.to_you);  //得到值
		
		this.tel=(EditText)super.findViewById(R.id.tel);  //将值赋给对应的输入框
		tel.setText(to_you); 
		this.content=(EditText)super.findViewById(R.id.content);

	}

 
 

 上面,大概就是今天学到的东西了,主要的还算知道如何实现安卓的接口了吧,其次是对安卓的编写更加熟练了。如果以后要做安卓,总体还算比较简单,但是写代码是时候不好调试,出错了也不知道错在哪,而且还要熟悉各种组件和接口。

 

ps:今天写代码的时候,就一个简单的跳转,都出错,检查了好久才发现是对应页面中的一个变量名没改过来,真的坑,找错太难了

 

  • 大小: 14.5 KB
  • 大小: 15.2 KB
  • 大小: 10.7 KB
分享到:
评论

相关推荐

    android-ndk(android-ndk-r25b-windows.zip)

    这个压缩包“android-ndk-r25b-windows.zip”包含了NDK的第25个版本,专为Windows操作系统设计。NDK的主要功能是让开发者能够在Android应用中使用原生代码,例如C、C++,以实现高性能计算或利用硬件加速等功能。 **...

    android sdk android-33

    "android-33" 指的是 Android SDK 的一个特定版本,代表了 Android 操作系统的第 33 版本。这个版本可能对应着某个特定的 Android API 级别,例如 Android 13。在 Android 开发中,API 级别是衡量操作系统版本的关键...

    Android SDK (SDK Platforms)-android-32.zip

    Android SDK (SDK Platforms)-android-32.zip 是一个包含了Android操作系统第32版本(也称为Android 13)平台开发工具的压缩包。这个压缩文件是Android开发者在构建、测试和调试针对Android 13应用时所必需的核心...

    Android SDK (SDK Platforms)-android-26.zip

    API Level 26对应的是Android 8.0,包含了系统的类库、API接口和系统服务,开发者可以调用这些接口来实现应用功能。 3. **Android Oreo (8.0)**:这是Android操作系统的第八个主要版本,发布于2017年。它的主要特性...

    Android SDK (SDK Platforms)-android-34.zip

    Android SDK (SDK Platforms)-android-34.zip 是一个包含了Android操作系统第34版本(也称为Android 13)开发所需平台工具的压缩包。这个压缩文件对于开发者来说至关重要,因为它提供了构建、测试和调试Android应用...

    Android SDK (SDK Platforms)-android-31.zip

    3. **android-31**:这个标识符代表了Android的第31个版本,也就是Android 12。每个Android版本都有一个唯一的数字代号,用于区分不同版本的特性、API级别和安全更新。 4. **API级别**:Android 12的API级别是31。...

    android-15 platforms

    标题“android-15 platforms”指的是Android操作系统的第15个版本,也就是API级别15,对应的Android版本是冰淇淋三明治(Ice Cream Sandwich,简称ICS)。这个版本的Android是在2011年10月发布,是Android系统发展中...

    OpenCV-3.0.0-android-sdk-1.zip

    2. **Java API**:提供了与C++库对应的Java接口,方便Android开发者在Java代码中使用OpenCV功能。这些API包括预定义的类和方法,如`Mat`对象(用于处理图像数据)和`CameraBridgeViewBase`(用于显示摄像头预览并...

    sdk platform android-api-29(android 10).zip

    4. **屏幕录像**:内置的屏幕录制功能让用户可以轻松记录并分享他们的屏幕活动,无需第三方应用。 5. **折叠屏设备支持**:为了适应折叠屏手机和平板,Android 10进行了相关优化,确保应用能在不同屏幕尺寸间平滑...

    android-ndk-r13b-windows-x86_64

    5. **预编译库支持**:NDK R13B支持预编译库的导入,这简化了第三方库的集成,比如OpenCV、FFmpeg等。 三、使用NDK开发流程 1. **安装配置**:下载并解压`android-ndk-r13b-windows-x86_64.zip`,设置环境变量,...

    Android-28

    Android-28是Android操作系统的第28个版本,对应的是Pie(Android 9.0)更新。这个SDK(Software Development Kit)包含了开发者为Android 9.0平台构建应用程序所需的所有工具和资源。在深入讨论Android 9.0 SDK之前...

    android-sdk-sources-android-28.rar

    在Android 9.0中,Project Treble进一步完善,增强了对硬件抽象层(HAL)的支持,使得第三方ROM和厂商可以更快地适配新的Android版本。 2. **Digital Wellbeing**:为了帮助用户更好地管理他们在移动设备上的时间,...

    Android/SDK/Platforms/android-TiramisuPrivacySandbox

    2. **系统库**:与隐私保护相关的库文件,如广告标识符(Ad ID)管理、限制第三方跟踪等。 3. **权限系统更新**:可能包括新的权限控制机制,允许用户更好地控制自己的数据。 4. **示例代码**:展示如何在应用中正确...

    android-cts-2.3_r13-linux_x86-arm.zip

    10. **应用兼容性**:确保第三方应用程序能够在目标设备上正常运行,不会因为设备的差异导致功能缺失或错误。 在使用`android-cts-2.3_r13-linux_x86-arm.zip`之前,开发者或测试人员需要准备一个兼容的Linux环境,...

    ncnn-android-lib.zip

    3. **无依赖**: ncnn不依赖于任何第三方库,降低了集成难度,只需将编译好的lib文件直接引入项目即可。 4. **模型转换**: 支持将Caffe、TensorFlow、ONNX等多种主流深度学习框架的模型转换为ncnn的模型格式,方便...

    android-ctsmanual-2.1_r2

    - **遵循Android兼容性定义文档**:这是第一步,该文档详述了兼容Android设备所需的所有软件和硬件特征。除非特别注明,所有特征都是实现Android兼容性的必要条件。开发者应详细阅读与目标Android版本对应的兼容性...

    android-ndk-r10(eclipse下用亲测)

    同时,这也为集成第三方C/C++库提供了可能。 总结来说,"android-ndk-r10(eclipse下用亲测)"是一个用于学习和实践Android JNI开发的资源,它涵盖了Eclipse环境下的配置、JNI接口定义、本地代码实现、库的编译和...

    同盾 Android-sdk-fraudmetrix-3.1.5

    最新SDK(当前版本3.1.5),并解压fraudmetrix-xxx.zip文件。解压后文件目录为: ...或者已经存在其他架构的第三方so,则需要将对应的架构也引入工程中,否则将可能引起设备指纹获取异常、crash等未知问题。

    Android studio sdk 源码 android-29

    Android-29是Android操作系统的第29个版本,对应的是Android 10。这个版本引入了许多新功能和改进,旨在提升用户体验和开发者效率。下面我们将深入探讨Android-29 SDK源码中的关键知识点。 1. **权限管理增强**: ...

    Android-基于AndroidGradlePluginTransformAPI的AndroidSPI实现方案

    Android开发中,Service Provider Interface (SPI) 是一种用于扩展应用程序框架的机制,允许开发者在运行时动态地发现和加载第三方实现。通常,Android系统服务如ContentProvider、BroadcastReceiver等已经实现了SPI...

Global site tag (gtag.js) - Google Analytics