UIScrollView在下拉时contentOffset等属性的变化
:IOS    :kukei    :2014-03-18 11:45:00
:评论(1)

在处理UIScrollView的子类UITableView等的下拉刷新功能时,学习了contentOffset等属性的变化情况,在此记录总结一下。

首先如果存在statusbar和navbar则在初始状态下UIScrollView的contentInset.top就是64,contentOffset.y是0,因为statusbar高度20,navbar高度44.

此时在UIScrollView中加一个view,frame是(0,-50,30,50),则UIScrollView的contentInset.top就是64,contentOffset.y是-64;至于此处contentInset.top是64,而不是14,我认为只能理解为新加的view把statusbar和navbar原来占的空间上去了,而不是覆盖了;至于contentOffset.y是-64而不是正64,也不是-50,要看怎么理解此时UIScrollView的可视窗口范.....

IOS开发学习知识点一
:IOS    :kukei    :2014-03-12 10:55:54
:评论(0)

以下信息没有排序分类,想到写到,用到记到。

  1. storyboard上每个对象都是一个view。

  2. view是嵌套的,父view用方法superview调用获得。

  3. performSegueWithIdentifier来触发storyboard上定义好的segue,即定义好的导向线条。

  4. 重新build后你刚才该的代码没有生效,调试发现乱跳行,此时需要clean一下,clean菜单在product下。



XCode5+IOS7免证书真机调试方法以及常见问题
:开发    :kukei    :2014-03-02 20:51:55
:评论(0)

因为现在还没有申请苹果开发者证书,就先用免证书的方式做开发。

参考文章:

http://blog.csdn.net/hany3000/article/details/12878483

http://blog.csdn.net/ccnyou/article/details/14524353

http://bbs.weiphone.com/read-htm-tid-7056725.html

准备工作有一下步骤:

1.创建证书;

2.修改XCode的配置文件;

3.修改项目的配置;

4.手机越狱;

5.安装appsync


常见问题:

  1. 手机装syncapp,否则报错“”

  2. failed to get the task for process xxx

    a.New->File->iOS->Resouce->Property List

    将文件名设为Entitlements.plist。

    b.打开Entitlements.plist文件

    添加一个属性Can be debugg.....

Android上Actionbar样式修改技巧(一)
:Android    :kukei    :2014-02-08 17:15:38
:评论(2)

在使用actionbar的过程中发现了一些小问题,困扰了我一段时间,记录在此,方便学习。

先推荐一个actionbar样式以及图标定制网站吧:http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html

1.actionbar背景色的问题

<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="AppTheme" parent="AppBaseTheme">
        <item name="android:actionBarStyle">@style/MyActionBar</item>
    </style>
       
    <style name="MyActionBar" parent="@android.....
Android的ActionBar的tab上的布局优化
:Android    :kukei    :2014-02-08 16:43:19
:评论(1)

android4.0以后就开始主推actionbar了,我觉的actionbar不仅能提供导航和控制界面,还能将操作按钮放到屏幕最底部的操作栏,这样为大屏手机的单操作提供了方便。

不过有个不完美的地方,就是竖屏模式下,无法将tab导航栏放置的最顶部标题栏,总是要在顶部显示两个显示条,没有尽可能的把屏幕空间留给用户做显示之用,如图所示:


为了能将tab导航栏放到顶部标题栏,我们在此做了个优化,如图示:


解决办法是使用actionbar自定义内容即DISPLAY_SHOW_CUSTOM模式,

具体代码见源代码地址:https://code.csdn.net/kukei/actionbartab

Thinkpad T430购机及系统
:计算机知识    :kukei    :2014-01-06 11:58:08
:评论(0)

这是我的第四台笔记本了,前面分别是联想(型号记不清了),thinkpad R60e,thinkpad E420。我始终对小黑情有独钟,虽然我已经不再狂热,没有了20多岁时那种强烈的喜欢的感觉,我还是情不自禁的在换机器时毫不犹豫的选择了thinkpad T430,不带P而不带U,但是入手之后我还是感觉有点失望的,小黑已经不是T42时代的小黑了,或许我已经不是年轻时的我了,我觉的下次换笔记本的时候我可能会考虑其类型了。下面是购机及装系统的一些记录:

时间地点:上周末在科技市场入手了Thinkpad T430i 24321u5,记录一下购机以及装系统的相关过程。

在百脑汇门口被导购带到他们店,说tinkpad做活动。本来说1u5没货,我就选择了2g内存的那款,最后被告知还有一台,我要了。

1.绑定操作系统问题;

销售说t430分为绑定win8和不绑定win8两种,绑定win8的如果换了操作系统就没法使用独立显卡,我想我要装sdd,换操作系统,.....

BAE3Python版本上用cache存储django的session的方法
:Baidu    :kukei    :2013-11-04 13:06:52
:评论(2)

Django是一个自带session功能的python版web框架,session的支持存储方式支持memcache,数据库,文件等;当然最快的自然是memcache了,但是当将django应用部署到bae3上的时候会发现,按默认的配置是无法成功运行起来的,原因是bae3提供的cache是非标准memcache接口;

bae3提供的cache接口与标准接口相比有以下两个差异:

  1. cache初始化时需要提供用户名密码;这个可以理解,因为bae3的cache是分布式的,并非和应用在同一主机,bae需要搞清楚那个应用的cache在哪儿部署着呢。

  2. cache的key值必须是string类型,我用unicode就报错了。

鉴于以上的情况我们需要修改一些django提供的session引擎,就是修改setting.py文件中的“SESSION_ENGINE”为自己的类, 比如我就把它改为“SESSION_ENGINE = 'sd.com.lib.se.....

BAE3.0初探
:Baidu    :kukei    :2013-11-01 17:51:09
:评论(3)

BAE3.0发布了有段时间了,我早已经有了测试权限我还不知道,是在调试其他问题时BAE的工程师提醒我的,我就关注了一下BAE3.0,并且把我的应用sdlog迁移到了3.0上。

BAE3.0给我的第一感觉很好(难道是我对老界面审美疲劳了?),因为前一段我用BAE上的Frontia做了一些测试,还做了一个小的Android应用在百度商店发布了,所有这一切都在BAE3.0的界面上做的操作和管理。

就BAE3.0上的云引擎而言,已经摆脱了SAE模仿者的影子,是一个全新的模式;可以给一个应用调配多个执行单元(每个执行单元相当于一个虚拟机,据说一个单元可以支撑一天千万级别的访问,不带cache和数据库);mysql数据库提供了地址、用户名、密码、端口,这样开发者使用起来和迁移起来都更方便。提供了更多样的日志类型,提供了NFS功能以及原来2.0上的其他服务。这次还提供了本地开发环境,虽然很复杂,而且我也没安装成功,但是依然欣喜。

BAE上安装第三方.....

android应用如何完全退出?
:Android    :kukei    :2013-10-17 10:48:26
:评论(2)

我们在开发android应用时,通常都要在菜单中加上一个退出按钮,这样才显得正规;或者我们应用是一次性的即点击就关闭时就需要一个完全退出的功能,就是杀掉我们自己的进程。

退出应用

android提供的杀掉自己进程的方法是“android.os.Process.killProcess(android.os.Process.myPid());”,然而实际测试的结果发现这个方法只对有单独一个Activity的应起作用。

用法是先用finish() 函数,然后修改onDestroy函数为:

@Override
protected void onDestroy() {
    super.onDestroy();
    android.os.Process.killProcess(android.os.Process.myPid()); 
    System.exit(0);
}

其实经过我测试,“android.os.Process.....

百度云平台上Frontia之初探(一)
:Baidu    :kukei    :2013-10-14 17:51:47
:评论(2)

使用百度云平台BAE已经有一段时间了,不过以前一直用的是web应用方面的服务,包括计算,服务器,数据库,网络,文件存储等。现在要说的是移动app开发的模块Frontia,它提供了一包,包括的数据存储(应用数据,应用文件,个人数据),推送,社会化登陆功能。

功能说明:

  1. 应用数据存储;存放在bae的MongoDB中,能在bae那个方便的查看和修改数据,不方便的是不能自由建立表,数据都存放在MongoDB的Frontia表中;数据存储的免费容量为1G。

  2. 应用文件存放,放在bae的云存储中,我现在还没使用,使用代码和应用数据类似。我觉得应该是在云存储中建立一个名字叫Frontia的Bucket,上传的文件放在这儿。

  3. 个人数据;这个是和百度个人云存储里关联的,就是上传的数据放在个人网盘里,想很好啊。

  4. 推送;

  5. 社会化账户登陆。


使用中遇到的问题:

  1. 报错“java.lang.NoClassDefFoundError: com.baidu.frontia.ba.....