【pdf】Android_UI开发专题
Android软件汉化 APK软件汉化
来源:http://www.uugo.org/project/Android/71096.html
在Android平台下,程序文件的后缀名为“.APK”,APK是Android Package的缩写,意思是Android安装包,是类似WM系统“.CAB”和Symbian系统“.SIS”的文件格式。APK程序文件可以用WinRAR之类的解压缩软件解压,我们只需要将其中的resources.arsc文件解压出来,用汉化工具将.arsc文件内的英文资源翻译为中文,修改包含英文的图片,再替换原文件,最后将APK文件重新签名即可。
汉化APK软件需要事先下载安装好以下工具:
1.Java
2.解压缩软件:WinRAR
3.汉化工具:AndroidResEdit(需要.NET Framework 2.0支持)
4.图片汉化软件:Photoshop
5.签名程序:Auto-sign(推荐使用AndroidResEdit软件自带的签名功能)
android service 的交互
这个例子演示了activity调用本地服务,点击按钮就会显示结果
结果:
步骤如下:
1 创建服务接口
服务接口提供了可以调用的方法
IService.java
package com.demo.service; public interface IService { public String getName(); }
2 实现服务
myService.java
package com.demo.service; import android.app.Service; import android.content.Intent; import android.os.Binder; import android.os.IBinder; public class myService extends Service { /* * binder 起到个桥梁的作用, */ private MyServiceBinder myServiceBinder = new MyServiceBinder(); @Override public IBinder onBind(Intent intent) { // TODO Auto-generated method stub return myServiceBinder; } public String getName(){ return "你好啊 返回的结果"; } public class MyServiceBinder extends Binder implements IService{ public String getName() { // TODO Auto-generated method stub return myService.this.getName(); } } }
3 调用服务的activity
mainActivity.java
package com.demo.service; import android.app.Activity; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.ServiceConnection; import android.os.Bundle; import android.os.IBinder; import android.view.View; import android.view.View.OnClickListener; import android.widget.TextView; /* * service 的交互 */ public class mainActivity extends Activity { /** Called when the activity is first created. */ private myConn conn=new myConn(); private IService serviceInstance; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Intent intent = new Intent(this, myService.class); /* * 激活服务 会调用 myConn 返回桥梁 serviceImpl */ bindService(intent, conn, Context.BIND_AUTO_CREATE); final TextView nameTextView = (TextView) findViewById(R.id.name); this.findViewById(R.id.button).setOnClickListener(new OnClickListener() { public void onClick(View arg0) { //点击时调用服务中的方法 String nameString = serviceInstance.getName(); nameTextView.setText(nameString); } }); } private final class myConn implements ServiceConnection{ /* * (non-Javadoc) * @see android.content.ServiceConnection#onServiceConnected(android.content.ComponentName, android.os.IBinder) * 这个IBinder 是 myServece中的返回的IBinder */ public void onServiceConnected(ComponentName name, IBinder service) { serviceInstance = (IService) service; } public void onServiceDisconnected(ComponentName name) { serviceInstance=null; } } @Override protected void onDestroy() { //退出时 解除绑定 unbindService(conn); super.onDestroy(); } }