当前位置:  编程技术>移动开发
本页文章导读:
    ▪解决SurfaceView不能获取按键和触摸事件的有关问题        解决SurfaceView不能获取按键和触摸事件的问题        这周有需求需要开发一个Aandroid平台的开发引擎,目的是可以降低从J2ME项目移植到Android平台的移植时间,最佳的耗时最快可以达到1.........
    ▪ 封闭所有activity以及减少大图片占用内存方法        关闭所有activity以及减少大图片占用内存方法 1.有时候我们的程序建立很多activity,你想关闭所有,其实这是没有必要的,至于为啥 是看见别人说的,如果你非要关闭所有 有两个方法 第一个 .........
    ▪ 又一个反编译凶器Apktool(转发)       又一个反编译利器Apktool(转发) 安装 1.先装JAVA环境,JDK/JRE都行,官网下载 装过的就跳过吧 2.下载apktool.jar及相关文件,这里下apktool-1.0.0.tar.bz2 和apktool-install-windows-2.1_r01-1.zip 3.解压apktool.jar到.........

[1]解决SurfaceView不能获取按键和触摸事件的有关问题
    来源: 互联网  发布时间: 2014-02-18
解决SurfaceView不能获取按键和触摸事件的问题
  
    这周有需求需要开发一个Aandroid平台的开发引擎,目的是可以降低从J2ME项目移植到Android平台的移植时间,最佳的耗时最快可以达到1到2天,甚至是几个小时,相当于只是在J2ME增加一个移植机型。
    OK,狂编代码,设计的功能都完成后,发生杯具了,测试程序居然不能获取按键事件和触摸事件。出现了可恶的提示:
    No window to dispatch pointer action 0
    No window to dispatch pointer action 1

    视图是使用SufaceView的,代码结构和官方例子有点不同,为的是把Android的差异性隐藏起来,程序员面对的只是类似J2ME的程序框架,究竟啥原因了?
    接下来的是,查资料,问高手,狂修改结构,结果没高手可以帮我解决问题,资料也找不到头绪。OK,静下心来,由0开始,重新编写一个最简单的例子,这个例子是可以获取全部事件的,再慢慢修改结构,结果加上多个功能代码后,丢失事件又出现了,噢,MY GOD!真是令人疯狂的世界。
    再比较比较比较。。。
    法克。。。
    终于定位到问题所在。。。
    原来。。。。是这样
    问题出在设置屏幕全屏的那行代码,这行代码是在网上找来的:
    this.getWindow().setFlags(WindowManager.LayoutParams.TYPE_STATUS_BAR,
                WindowManager.LayoutParams.TYPE_STATUS_BAR);
    但这个代码是起作用的,但它屏蔽了事件。。。
    再上网找找设置屏幕全屏的代码,找到,但变成这样:
    this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
   
    这又是程序员生涯中遇到的一个挫折,但又一次给解决掉,特此记录一下。。。

    
[2] 封闭所有activity以及减少大图片占用内存方法
    来源: 互联网  发布时间: 2014-02-18
关闭所有activity以及减少大图片占用内存方法

1.有时候我们的程序建立很多activity,你想关闭所有,其实这是没有必要的,至于为啥 是看见别人说的,如果你非要关闭所有 有两个方法 第一个 使用intent flag FLAG_ACTIVITY_CLEAR_TOP which brings the targeted activity to the top of the stack and closes anything else that may have been open since

他的意思是说 会保留主activity,然后关必其他的,所以你使用上面的标记之后然后finish就可以了

另一个就是startActivityForResult,这个需要你为每个activity有个反馈信息 然后受到信息关掉。

 

2.减少大图片占用内存的方法,最好是使用RGB_565 ,少用ARGB_8888 ,其他的尽量不用

BitmapFactory.Options options = new BitmapFactory.Options(); 
options.inPreferredConfig = Bitmap.Config.RGB_565; 
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon, options); 


    
[3] 又一个反编译凶器Apktool(转发)
    来源: 互联网  发布时间: 2014-02-18
又一个反编译利器Apktool(转发)
安装

1.先装JAVA环境,JDK/JRE都行,官网下载 装过的就跳过吧

2.下载apktool.jar及相关文件,这里下apktool-1.0.0.tar.bz2 和apktool-install-windows-2.1_r01-1.zip

3.解压apktool.jar到 C:\Windows 解压apktool-install-windows.zip到任意文件夹(例如E盘根目录)

4.Win+R 运行CMD,用cd命令转到apktool-install-windows所在文件夹,输入apktool看看。会列出一些帮助的话就成功了。

Apktool 命令

apktool d XXX.apk ABC    反编译XXX.apk到文件夹ABC

apktool b  ABC               从文件夹ABC重建APK,输出到ABC\dist\out.apk

然后我们反编译一枚软件玩玩…

AutoMemoryManager的免费版底部有一条广告,去掉它吧。

把com.lim.android.automemman.apk放到同文件夹(我的就是E盘根目录)

Win+R 运行CMD

E:<回车>
E:\>apktool d com.lim.android.automemman.apk AMM <回车>
I: Baksmaling…
I: Decoding resource table…
I: Decoding resources…
I: Copying assets and libs…

现在文件被decode到E:\AMM了,打开E:\AMM\res\layout\main.xml看,所有都可见了吧~

编辑第59行

<com.admob.android.ads.AdView android:id=”@id/ad” android:layout_width=”fill_parent” android:layout_height=”wrap_content” admobsdk:backgroundColor=”#ff000000″ admobsdk:textColor=”#ffffffff” admobsdk:keywords=”Android application” />

改为

<com.admob.android.ads.AdView android:id=”@id/ad” android:layout_width=”0.0dip” android:layout_height=”0.0dip” admobsdk:backgroundColor=”#ff000000″ admobsdk:textColor=”#ffffffff” admobsdk:keywords=”Android application” />

然后CMD输入

E:\>apktool b AMM
I: Checking whether sources has changed…
I: Smaling…
I: Checking whether resources has changed…
I: Building resources…
I: Building apk file…

用Auto-sign签名E:\AMM\dist\out.apk 安装

这样广告就不见了


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3