7月工作经验杂记

android 中经常会使用CustomListView作为上拉加载更多,下拉刷新组件。但是如果在CustomListView中添加head view 会导致head view距离列表的顶部有一定的空隙,可以通过在layout的布局文件中将CustomListView的dividerHeight设置为0即可。

copy桌面文件时,一定要使用ctrl+C或者右键复制,而不能使用拖动方式复制,反之,文件并不能真正复制,只会得到一个快捷方式。

chrome浏览器不能下载文件,这个问题很有可能是因为第三方插件的原因,如果浏览器没有安装第三方的下载插件,则有可能是下载软件的问题,比如迅雷,可以通过卸载迅雷即可。

android 设置组件的gravity属性时,既可以通过父组件的gravity设置,也可以通过子组件的layout_gravity以确定在LinearLayout中组件的定位。

node.js 的console.log不能打印中文

eclipse 各版本更新地址

http://www.eclipse.org/downloads/packages/   

个推需要使用透传消息发送,H5+才能在客户端监听各种事件,比如接收和点击

使用mui开发的基于html5的app,解决后台运行的思路:

js执行的代码在页面关闭了,就不会执行了。当在某个页面触发了一个需要后台长期执行的任务,这个任务在手机返回的桌面上,还需要继续执行。

以周期上报经纬度为例,解决步骤如下:

1.在首页面定义timer对象

2.在首页定义一个上报经纬度的函数,在这个函数里面创建timer对象,周期执行经纬度上报,并把这个timer对象赋值给首页初始定义的timer

3.在目标界面上调用首页面的上报经纬度的函数

4.首界面监听返回键事件,当点击返回键时,调用如下代码:

var main = plus.android.runtimeMainActivity();

main.moveTaskToBack(false);

5.当app再次进入时,只需要判断timer是否为空,判断是否还在上报经纬度,并且可以调用停止或其他的业务方法。

(后期可以根据业务扩展更多的业务参数,来判断后台的任务是否执行,以及执行的状态,便于再次进入app对该后台任务进行其他的操作)

android 弹出框一般使用PopupWindow来实现,这样比使用ListView代码更简单,但是带来的问题就是PopupWindow获取了焦点,而他后面的界面获取不了焦点,如果要实现点击弹出框之外或者点击返回键,让PopupWindow消失需要使用如下的方法:

点击屏幕其他区域popupWindow消失

popupWindow.setBackgroundDrawable(new PaintDrawable());  

点击返回键消失需要使用如下方法:

View layout = inflater.inflate(R.layout.account_dialog,  

        (ViewGroup) activity.findViewById(R.id.account_dialog));  

layout.setFocusable(true); // 这个很重要  

layout.setFocusableInTouchMode(true);  

  

popupWindow = new PopupWindow(layout);  

popupWindow.setFocusable(true);  

  

// 重写onKeyListener  

layout.setOnKeyListener(new OnKeyListener() {  

    @Override  

    public boolean onKey(View v, int keyCode, KeyEvent event) {  

        if (keyCode == KeyEvent.KEYCODE_BACK) {  

            accountDialog.dismiss();  

            accountDialog = null;  

            return true;  

        }  

        return false;  

    }  

});  

fragment实现对返回键的监听需要实现OnKeyListener接口,然后实现如下方法

@Override

public boolean onKey(View v, int keyCode, KeyEvent event) {

if(keyCode==KeyEvent.KEYCODE_BACK){

}

}

在一个工程中同时包含了百度地图和高德地图的sdk,编译时报错“Found duplicate file for APK: assets/lineDashTexture.png”。

这是因为百度和高德的sdk,其jar包存在同名文件“assets/lineDashTexture.png”,所以无法通过编译。即百度sdk与高德sdk是互斥的,不能同时存在于同个工程中,必须分开来使用。

HBuilder本地打包时,assets/data/control.xml的appid的值要和mainfest.json的id的值以及assets\apps\目录下面www的父目录名称一致

在多表联合查询时,如果既有外连接,又有普通的多表关联,把外连接字句放于普通连接之前,多个left join子句用空格隔开

微信分享完毕在onResp要将WXEntryActivity进行finish,要不然,界面还一直停留在WXEntryActivity

android中继承某个系统自带的View时,需要实现里面的(Context context, AttributeSet attrs)这个构造方法,否则在xml布局文件中的View,在java代码中使用findViewById获取返回为空

在android 的layout中配置View的点击,只有Button和ImageButton不需要加android:clickable="true",其余的组件都需要加。如果是在代码中设置点击监听事件不需要加这个属性。

android的列表中adapter中写对应每一行上的按钮的监听,必须要不管创建新的监听器,并对每一行的按钮进行设置。

HBuilder真机ios调试需要下载和安装ituns

手机银联支付接口地址

https://open.unionpay.com/ajweb/help/search

在使用HBuilder混合开发下,可以使用在Eclipse开发java部分,然后将Hbuilder工程目录下的文件都放在www的目录下面,这样,可以在Eclipse开发java部分,可以在HBuilder中开发H5,统一由Ec,lipse本地打包。

小米设置VPN 点击设置-》点击其他连接方式-》VPN

手机打开GPS 但是App不能定位的问题:

原因有可能是手机设置了对该app的地址服务请求拒绝了,解决方法如下(以小米为例),

1.设置-》高级设置-》安全和隐私-》位置信息-》位置服务请求-》授权管理-》选择要使用定位的app-》勾选定位

在使用百度定位的时候,若经纬度一直返回0,需要查看key是否正确,如果key正确了,则要查看so包尤其是liblocSDK6a.so是否加入

使用GPS定位时,只有到户外空旷地方才能正确获取经纬度。

java中List有个remove方法,跟前position删除元素,这个position传入的参数必需为int,不能是其他的数字类型,如long,反之,不能删除。

免费的bug缺陷跟踪系统,bugclose

显示HBuilder的常用的常量目录的绝对地址使用如下代码:

plus.io.requestFileSystem( plus.io.PUBLIC_DOCUMENTS, function(fs){

console.log(fs.root.fullPath);

}

猜你喜欢

转载自alex-yang-xiansoftware-com.iteye.com/blog/2319575