跨应用绑定Service并通信: 1.(StartServiceFromAnotherApp)AIDL文件中新增接口: void setData(String data); AppService文件中实现接口: public IBinder onBind(Intent intent) { return new IAppServiceRomoteBinder.Stub() { @Override public void basicTypes(int anInt, long aLong, boole…
AIDL(Android Interface Definition Language)--安卓接口定义语言 一.startService/stopService 1.同一个应用程序启动Service: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); startService(new Int…
实现数据共享功能: 多个Activity里面,可以使用Application来实现数据的共享,因为对于同一个应用程序来说,Application是唯一的. 1.实现全局共享的数据App.java继承自Application: public class App extends Application { private String textData = "default"; public void setTextData(String textData) { this.textData…
一.跨应用启动Service Intent serviceIntent=new Intent();serviceIntent.setComponent(new ComponentName("com.example.shiyanshi.startservicefromanotherapp","com.example.shiyanshi.startservicefromanotherapp.AppService")); 跨应用启动Service时,Android5.0以…
一.背景 ·1.AIDL出现的原因 在android系统中,每一个程序都是运行在自己的进程中,进程之间无法进行通讯,为了在Android平台,一个进程通常不能访问另一个进程的内存空间,所以要想对话,需要将对象分解成操作系统可以理解的基本单元,并且有序的通过进程边界.通过代码来实现这个数据传输过程是冗长乏味的,Android提供了AIDL工具来处理这项工作,实现IPC(进行间的通信)与J2e中的RMI类似. ·2.绑定service 我看了很多人都博客都没有说到这里,其实我个人感觉AIDL就是一个…
AIDL的使用: 最常见的aidl的使用就是Service的跨进程通信了,那么我们就写一个Activity和Service的跨进程通信吧. 首先,我们就在AS里面新建一个aidl文件(ps:现在AS建aidl不要求和Java包名相同了): package aidl; interface IMyInterface { String getInfor(String s); } 可以看到,在这里面我们就一个方法getInfor(String s),接受一个字符串参数,然后返回一个字符串,相当的简单.…
我们在实际开发中,有的时候需要储存或者备份比较复杂的数据.这些数据的特点是,内容多.结构大,比如短信备份等.我们知道SharedPreferences和Files(文本文件)储存这种数据会非常的没有效率.如果学过JavaWeb的朋友,首先可能想到的是数据库.当然了数据库是一个方案,那么是否还有其他的解决方案呢?今天我们在讲下Android笔记——Android中数据的存储方式(一) 提到的除了SharedPreferences和Files(文本文件)以外的其他几种数据储存方式:xml文件.SQL…
今天,在Q群中有网友(@广州-包晴天)发出了网上的一个相对经典的问题,问题具体见下图. 本来是无意写此文的,但群里多个网友热情不好推却,于是,撰此文予以分析. 从这个问题的陈述中,我们发现,提问者明显对Android中的几个基本概念在理解上是存在误区的(或直接称之为理解错误).且这种误区,我发现是较为广泛的存在于不少Android开发心中的. 理解误区主要体现在对以下几个概念没有区分清: 1,Activity的onDestory回调方法: 2,Activity的销毁: 3,Activity的内存…
这几天在回顾Android的基础知识,就把一些常见的知识点整理一下,以后忘了也可以翻出来看一看. 简单介绍一下Activity的生命周期 在API文档中对生命周期回调的函数描述的很详细,这里我只是翻译了一下. onCreate:当Activity第一次被创建的时候调运.应该在这个回调函数中做所有的初始化操作,比如:创建View,给lists绑定数据等.在这个函数执行完后,通常会调运onStart方法.Always followed by onStart()(这句就不用翻译了吧) onRestar…
准备工作: 我们模拟一个注册的页面,先看UI 我们需要创建一个数据库:user,数据库包含表user,user表包含字段id.username.password.mobilephone MainActivity.java package cn.lixyz.sqlitedemo; import android.app.Activity; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import a…