当前位置: 编程技术>移动开发
本页文章导读:
▪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);
效果图如下:
最新技术文章: