当前位置:  编程技术>移动开发
本页文章导读:
    ▪多线程了解,线程        多线程理解,线程    最近在玩安卓,要提到多线程, 总感觉那东西有点不明白,总是有那些停止,暂停,销毁,启动什么的,总是执行那些程序,先后,快慢,说实话,不知道那是什么意思的,    个人.........
    ▪ 标题栏网络连接图标的展示和取消        标题栏网络连接图标的显示和取消 [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;   ......
    ▪ 起动或安装相应的应用的方法       启动或安装相应的应用的方法 有时候一个应用需要启动另外一个应用来完成操作,比如在某些应用中打开闹钟,相机,日历等等。启动或安装相应的应用的方法:Step1:判断是否安装目标.........

[1]多线程了解,线程
    来源: 互联网  发布时间: 2014-02-18
多线程理解,线程
   最近在玩安卓,要提到多线程, 总感觉那东西有点不明白,总是有那些停止,暂停,销毁,启动什么的,总是执行那些程序,先后,快慢,说实话,不知道那是什么意思的,
   个人感觉多线程并不是什么情况下都适用的,一般用在定时功能,用得最好的只有播放器,听音乐的这些软件了, 有快进,有慢,有暂停,关闭这些都是多线程的,多线程的意义不在于共同执行一个任务或者是一段代码什么的, 他的意义在于,控制多个线程来完成一个任务,有选择的来完成,
   不知道理解错了没有,也就是自己的理解吧,确实不太明白

贴出多线程例子,看意思代码分析


package com.pu.gc;

public class TestThread{

    public static void main(String[] args) { 
         
        //创建饼的实例 
        Bing b = new Bing(); 
        //创建同步的吃饼和烙饼实例 
        GongNeng g = new GongNeng(b); 
        //创建线程两个消费者两个生产者 
        ChuShi c1 = new ChuShi(g); 
        ChuShi c2 = new ChuShi(g); 
        XiaoFei x1 = new XiaoFei(g); 
        XiaoFei x2 = new XiaoFei(g); 
         
        //启动线程 
        c1.start(); 
        c2.start(); 
        x1.start(); 
        x2.start(); 
    }
}

class ChuShi extends Thread{
   
    private GongNeng g; 
    public ChuShi(GongNeng g){
        this.g = g; 
    } 
     
    public void run(){ 
        for(;;){ 
            g.lao(); 
             
        } 
    } 


class XiaoFei extends Thread{ 
    private GongNeng g; 
    public XiaoFei(GongNeng g){ 
        this.g = g; 
    } 
    public void run(){ 
        for(;;){ 
            g.chi(); 
        } 
    } 


class GongNeng {
    private Bing b; 
    public GongNeng(Bing b){     
        this.b = b;  
    } 
    public synchronized void lao(){ 
        if(b.getBing()<10){ 
            try { 
                Thread.sleep(1500); 
            } catch (InterruptedException e) { 
                // TODO Auto-generated catch block 
                e.printStackTrace(); 
            } 
            System.out.println(Thread.currentThread()+ 
            ":厨师烙了一张饼,盘里还剩"+(b.getBing()+1)+"张饼"); 
            b.setBing(b.getBing()+1); 
        } 
    } 
     
    public synchronized void chi(){ 
        if(b.getBing()>0){ 
            try { 
                Thread.sleep(2000); 
            } catch (InterruptedException e) { 
                e.printStackTrace(); 
            } 
            System.out.println(Thread.currentThread()+ 
            ":消费者吃了一张饼,盘里还剩"+(b.getBing()-1)+"张饼"); 
            b.setBing(b.getBing()-1); 
        } 
    } 


class Bing { 
    private int bing = 10; 
    public int getBing() { 
        return bing; 
    } 
    public void setBing(int bing) { 
        this.bing = bing; 
    } 
     


    
[2] 标题栏网络连接图标的展示和取消
    来源: 互联网  发布时间: 2014-02-18
标题栏网络连接图标的显示和取消
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;

 


    
[3] 起动或安装相应的应用的方法
    来源: 互联网  发布时间: 2014-02-18
启动或安装相应的应用的方法
有时候一个应用需要启动另外一个应用来完成操作,比如在某些应用中打开闹钟,相机,日历等等。

启动或安装相应的应用的方法:

Step1:判断是否安装目标应用。只要知道目标应用的安装包名就可以通过判断"/data/data/packagename"是否存在来实现。

/**
* 判断是否安装目标应用
* @param packageName 目标应用安装后的包名
* @return 是否已安装目标应用
* @author zuolongsnail
*/
private boolean isInstallByread(String packageName) {
return new File("/data/data/" + packageName).exists();
}



Step2:目标应用已安装则启动,否则先安装。

/**
* 先判断是否安装,已安装则启动目标应用程序,否则先安装
* @param packageName 目标应用安装后的包名
* @param appPath 目标应用apk安装文件所在的路径
* @author zuolongsnail
*/
private void launchApp(String packageName, String appPath) {
// 启动目标应用
if (isInstallByread(packageName)) {
  // 获取目标应用安装包的Intent
  Intent intent = getPackageManager().getLaunchIntentForPackage(
    packageName);
  startActivity(intent);
}
// 安装目标应用
else {
  Intent intent = new Intent();
  // 设置目标应用安装包路径
  intent.setDataAndType(Uri.fromFile(new File(appPath)),
    "application/vnd.android.package-archive");
  startActivity(intent);
}
}

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android根据电话号码获得联系人头像实例代码 iis7站长之家
▪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