当前位置:  编程技术>移动开发
本页文章导读:
    ▪记一次诡谲的崩溃事件        记一次诡异的崩溃事件 下午临到一个演示的时候碰到一个诡异的程序崩溃事件,还好很快解决,不过也确实被吓到了。代码类似下面   xxx if(xxx) line 1; else lines 2;  debug的时候,根据判断.........
    ▪ assets 读取资料        assets 读取文件 读取文字文件(txt,xml) InputStream is = getAssets().open("about.txt"); int size = is.available(); byte[] buffer = new byte[size]; is.read(buffer); is.clo.........
    ▪ 一些小成效(持续更新…)       一些小效果(持续更新……) EditText无边框 android:background="@null" android:textColor="@null" 这个也行: EditText : android:background="@android:drawable/editbox_background" TextView : android:background="@android:d.........

[1]记一次诡谲的崩溃事件
    来源: 互联网  发布时间: 2014-02-18
记一次诡异的崩溃事件

下午临到一个演示的时候碰到一个诡异的程序崩溃事件,还好很快解决,不过也确实被吓到了。代码类似下面

 

xxx
if(xxx)
   line 1;
else
   lines 2;

 debug的时候,根据判断条件执行line1,然后继续,直到结束,突然跳回lines 2再次执行,报一个Access错误,程序崩溃。clean,重启XCode,相当诡异的是,结果都是一致的在lines 2上面崩溃。最终发现问题是出在前面有一段字符串语句

 

NSString *tmp=[json valueforkey:xxx];

 上面正确的做法是NSString *tmp=[[NSString alloc] initwithString:[json valueforkey:xxx]];,由于没有采用alloc做内存复制,正常来说应该是报一个double release的错误,不知道为何却会导致系统在退出函数前掉头执行lines 2,导致一个相当难检查的错误。严格来说这应该是XCode的bug,虽然是用户误操作导致的。

//***************************************************

最近这种debug时光标乱跳的情况发生比较频繁,一方面估计是刚好某些代码写的不规范,不过也反应出XCode还不是很成熟,这种情况太无厘头啦,只好细细梳理最近修改过的代码。


    
[2] assets 读取资料
    来源: 互联网  发布时间: 2014-02-18
assets 读取文件
读取文字文件(txt,xml)
  InputStream is = getAssets().open("about.txt");
            
            int size = is.available();
            byte[] buffer = new byte[size];
            is.read(buffer);
            is.close();
            String text = new String(buffer);
            TextView tv = (TextView)findViewById(R.id.text);
            tv.setText(text);


读取图片资源
 Bitmap bgImg = getImageFromAssetFile("background.png")

    
[3] 一些小成效(持续更新…)
    来源: 互联网  发布时间: 2014-02-18
一些小效果(持续更新……)
EditText无边框
    
    android:background="@null" 
    android:textColor="@null"

这个也行:



EditText : android:background="@android:drawable/editbox_background"



TextView : android:background="@android:drawable/edit_text"


   <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        
    >

        <Button android:id="@+id/btn_done"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="完成"
        />

        <Button android:id="@+id/btn_discard"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="取消"
        />

    </LinearLayout>









    
最新技术文章:
▪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