当前位置:  编程技术>移动开发
本页文章导读:
    ▪5月2日晚请问光君的一些疑问        5月2日晚请教光君的一些疑问 1、内存管理,全局property变量 syn的时候 a=_a,在init中建议用_a初始化一些东西,在delalloc方法中必须将_a进行release中间都用self.a使用该变量 2、进行加载提示,在U.........
    ▪ SplitViewController在5.0有可能出现的异常        SplitViewController在5.0有可能出现的错误 在5.0上你可能在使用上发现:is expected to have a master view controller before its used!的错误   可能的原因是顺序的问题 - (BOOL)application:(UIApplication *)application .........
    ▪ 通报栏显示进度条组件的一个bug       通知栏显示进度条组件的一个bug。   在通知栏设置进度条的可见性,会无缘无故的崩溃。   //下面一句是没有语法错误的,但是会导致程序出错 //为了解决这个问题,后面我们会再progressView.........

[1]5月2日晚请问光君的一些疑问
    来源: 互联网  发布时间: 2014-02-18
5月2日晚请教光君的一些疑问


1、内存管理,全局property变量 syn的时候 a=_a,在init中建议用_a初始化一些东西,在delalloc方法中必须将_a进行release中间都用self.a使用该变量


2、进行加载提示,在UIWEBVIEW中 加载前 加载中 加载后都有方法,在加载前中家一个active的空间,在加载后去掉该提示


3、检测是否具有网络连接:有一个别人写好的框架进行调用,检测服务器连接是否有问题,在response的NSData中可以解析出类似于404之类的错误


4、线程开辟:一个视图进行动画加载,还需要进行服务器请求,那么就将服务器开辟重新开辟一个线程。


 


    
[2] SplitViewController在5.0有可能出现的异常
    来源: 互联网  发布时间: 2014-02-18
SplitViewController在5.0有可能出现的错误

在5.0上你可能在使用上发现:is expected to have a master view controller before its used!的错误

 

可能的原因是顺序的问题

- (BOOL)application:(UIApplication *)application
                                     didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  ...
  ...

  self.splitViewController = [[UISplitViewController alloc] init];
  self.splitViewController.delegate = detailViewController;
  self.splitViewController.viewControllers = [NSArray arrayWithObjects:masterNavigationController,
                                                      detailNavigationController, nil];
  ...
  ...
}
 也就是说delegate要在下一句前面

    
[3] 通报栏显示进度条组件的一个bug
    来源: 互联网  发布时间: 2014-02-18
通知栏显示进度条组件的一个bug。

  在通知栏设置进度条的可见性,会无缘无故的崩溃。

 

//下面一句是没有语法错误的,但是会导致程序出错
//为了解决这个问题,后面我们会再progressView外面包裹一层LinearLayout来控制可见性

updateNotification.contentView.setViewVisibility(progressViewID, View.GONE);

布局文件updata_nitification.xml:

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:layout_weight="2"
    android:paddingLeft="5dip">
    <LinearLayout android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="left|center_vertical"
        android:orientation="horizontal"
        android:layout_weight="1"> 
        <ImageView android:src="/blog_article/@drawable/icon/index.html"
            android:layout_width="24dip"
            android:layout_height="fill_parent"
            android:scaleType="fitCenter"/>
        <TextView android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/app_name"
            android:textColor="#000000"
            android:paddingLeft="5dip"
            android:textSize="16dip"/>
    </LinearLayout>
    <LinearLayout android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="left"
        android:orientation="horizontal"
        android:layout_weight="1"> 
        <TextView android:id="@+id/update_notification_progresstext"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="#8F8F8F"
            android:textSize="14dip"/>
            <LinearLayout
android:id="@+id/update_notification_progressblock"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
            <ProgressBar android:id="@+id/update_notification_progressbar"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                />
            </LinearLayout>
    </LinearLayout>
</LinearLayout>

 开始下载:

 

updateNotification.contentIntent = updatePendingIntent;
updateNotification.contentView.setProgressBar(
com.cnblogs.tianxia.subway.R.id.update_notification_progressbar, 100, 0, false);
updateNotification.contentView.setTextViewText(
com.cnblogs.tianxia.subway.R.id.update_notification_progresstext, "0%");

 正在下载,显示下载进度条:

 

updateNotification.contentView.setProgressBar(
com.cnblogs.tianxia.subway.R.id.update_notification_progressbar, 100, (int)(totalSize*100/updateTotalSize), false);
updateNotification.contentView.setTextViewText(
com.cnblogs.tianxia.subway.R.id.update_notification_progresstext,
(int)(totalSize*100/updateTotalSize)+"%");
updateNotificationManager.notify(0, updateNotification);

下载完成,点击可以安装:

 

 

//点击安装PendingIntent
Uri uri = Uri.fromFile(updateFile);
Intent installIntent = new Intent(Intent.ACTION_VIEW);
installIntent.setDataAndType(
uri, "application/vnd.android.package-archive");
updatePendingIntent = PendingIntent.getActivity(
UpdateService.this, 0, installIntent, 0);
 
updateNotification.defaults = Notification.DEFAULT_SOUND;//铃声提醒
updateNotification.contentIntent = updatePendingIntent;//安装界面
updateNotification.contentView.setViewVisibility(
com.cnblogs.tianxia.subway.R.id.update_notification_progressblock, View.GONE);
updateNotification.contentView.setTextViewText(
com.cnblogs.tianxia.subway.R.id.update_notification_progresstext, "下载完成,点击安装!");
updateNotificationManager.notify(0, updateNotification);

 效果图如下:

 


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
NOSQL iis7站长之家
▪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