当前位置:  编程技术>移动开发
本页文章导读:
    ▪自定义的带tab的可上下滑动的viewpager之二viewpager与fragment不兼容        自定义的带tab的可左右滑动的viewpager之二viewpager与fragment不兼容总的来说,这个TAB用起来还算方便吧 不过随着用的地方多起来,发现了一些问题,比如下面这个界面: TAB1和TAB2都是表单,保.........
    ▪ 百度map有关问题        百度地图问题问题1:地图载入不出来 这个问题很可能是你目前版本高于2.0.2,但是用的秘钥还是2.0.1以前的,所以重新申请秘钥。 注意:为了给用户提供更优质的服务,iOS SDK自v2.0.2版本开始.........
    ▪ APKTool签名的一个有关问题       APKTool签名的一个问题 0x01 昨天写了反编译,今天就写下签名的问题   0x02 apktool的重打包功能大家都知道,堪称神器,各类破解人事必备之良器,          用法不多说,只说签名容易遇到.........

[1]自定义的带tab的可上下滑动的viewpager之二viewpager与fragment不兼容
    来源: 互联网  发布时间: 2014-02-18
自定义的带tab的可左右滑动的viewpager之二viewpager与fragment不兼容

总的来说,这个TAB用起来还算方便吧

不过随着用的地方多起来,发现了一些问题,比如下面这个界面:


TAB1和TAB2都是表单,保存按钮对两个TAB都有效:若当前显示TAB1,点击保存则保存TAB1的form;若当前显示TAB2,点击保存则TAB2的form。现在的情况是,在每个TAB的fragment中都拿到这个保存的button,然后对其设置click事件,如此操作可能有这样的一个结果:打开这个界面,什么也不操作,直接点击保存,这个时候保存的是TAB2的form,而当前显示的却是TAB1。


这个问题困扰了很久,尝试了很多方法:


1、给TAB标签的onclick事件中加入调用fragment的onResume(),手动去调fragment的onResume方法,在fragment的onResume()中设置button的onclick事件。点击TAB即可改变button的监听器,但是对于直接进页面就点击保存按钮仍然无效;

2、给viewpage的滑动事件中添加调用fragment的onResume(),这个方法和方法1效果类似;

3、想:一般情况很少有人打开界面之后直接点击保存,都会做一些界面操作,比如,输入文本之类,所以想到给TAB1的fragment中设置一个OnTouchListener,这个只要用户对TAB1界面操作,在OnTouchListener中捕捉到,然后对button设置click,这样就OK了。即使用户进入界面,什么不操作直接点击保存,也不会出现保存错误的问题。


虽然想要的效果实现了,但是心里感觉还是很不爽,总感觉有个疙瘩。今天无意中看到一篇博文:“Fragment真正意义上的onResume和onPause:Fragment虽然有onResume和onPause的,但是这两个方法是Activity的方法,调用时机也是与Activity相同,和ViewPager搭配使用这个方法就很鸡肋了,根本不是你想要的效果”,拿过来一试,果然很爽。


在TAB的fragment中重写它的setUserVisibleHint(),如下:

	@Override
	public void setUserVisibleHint(boolean isVisibleToUser) {
		super.setUserVisibleHint(isVisibleToUser);
		if(isVisibleToUser){
			activity.findViewById(R.id.bt_title_Right).setOnClickListener(this);
		}
	}


很好的结果了这个问题,在此感谢:农民伯伯。


参考:http://www.cnblogs.com/over140/p/3392164.html



    
[2] 百度map有关问题
    来源: 互联网  发布时间: 2014-02-18
百度地图问题
问题1:地图载入不出来

这个问题很可能是你目前版本高于2.0.2,但是用的秘钥还是2.0.1以前的,所以重新申请秘钥。

注意:为了给用户提供更优质的服务,iOS SDK自v2.0.2版本开始采用了全新的Key验证体系。因此,当您选择使用v2.0.2及之后版本的SDK时,需要到新的Key申请页面进行全新Key的申请,申请及配置流程请参考开发指南对应章节。(选择使用v2.0.1及之前版本SDK的开发者,申请密钥(Key)的方式不变)。 

问题2:[[BMKMapManager alloc]init] crash

在Other Linker Flags中加入 -all_load,

如果不行把Other Linker Flags 下的 Debug 、Release 和其中相应的Any ios Simulator sdk、Any ios sdk 中全部加上 -all_load

Re: MyGameZone1小时前回复u012607740n.......................

    
[3] APKTool签名的一个有关问题
    来源: 互联网  发布时间: 2014-02-18
APKTool签名的一个问题

0x01 昨天写了反编译,今天就写下签名的问题

 

0x02 apktool的重打包功能大家都知道,堪称神器,各类破解人事必备之良器,

         用法不多说,只说签名容易遇到的问题

0x03 创建私钥仓库这个事情就不多说,方法很多,eclipse和keytool       都有类似功能

        需要注意的是,这个私钥仓库一共有两个密码,一个是私钥仓库的密码(storepass),另一个则是仓库里面每一个私钥对应一个密码(keypass),都是需要记住的。一个私钥仓库可以有多个私钥。

 

        换句话说每个私钥仓库创建的时候,这几个参数是要记录的

-storepass 123456789 私钥仓库的密码

-keypass    1987XXXX   私钥的密码

-keystore  F:\\webattack\android\AndroidMasterKey_icefish.key  私钥仓库文件在哪

icefish              私钥的名称

 

 

0x04   下来就是签名的东西了,jarsigner

用法 jarsigner -help可以看到。

这里面比较关键的几个参数

-storepass   -keypass  -keystore  上面的都说了,

 

-verbose  输出详细信息

特别注意的是  -signedjar 这个参数,他一共有三个选项,第一个是签名后的apk文件名,第二个选项是需要签名的apk路径,第三个很关键,就是前面提到的私钥的名称了。

一个常见的如下所示

jarsigner -verbose -keystore F:\\webattack\android\AndroidMaster
Key_icefish.key -storepass 123456789 -keypass 1987XXXX -signedjar Modify_signed.
apk F:\\webattack\android\result\ModifyCompile\Modify.apk icefish

 

 

0x05 在实际使用中,我们成功打包,成功签名,然后Android机子上一装,报错:

 10-14 07:06:50.223: W/PackageParser(61): java.lang.SecurityException: META-INF/ICEFISH_.SF has invalid digest for res/menu/main.xml in /data/app/vmdl-2089432299.tmp

   

甚至没有改动任何代码的直接签名都报这个错。

原因如下:

http://hardpass.iteye.com/blog/1534636

   

   实质就是jdk7改变了jarsigner的默认选项,不再是SHA 128了,而是变成了SHA256,

   这样Android 模拟器就验证不对了

   解决办法就是再jarsigner的调用中在强制设置摘要算法

   -digestalg SHA1 -sigalg MD5withRSA

 

这样就可以了。

 

 

 


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
javascript开源软件 iis7站长之家
▪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