Android 中调用本地命令

通常来说,在 Android 中调用本地的命令的话,一般有以下 3 种情况:

  • 调用下也就得了,不管输出的信息,比如:echo Hello World。通常来说,这种命令不存在执行失败的情况,并且执行的结果也是可预期的;
  • 调用后要等待返回的结果,比如 ls -la /。之所以要等待返回的结果,一般存在以下的 2 种情况:第一种是命令本身存在可能无法执行或者是执行的结果不符合预期的情况。另一种是输出的结果是无法预期的。在此例子中,如果用户没有访问 / 目录的权限就会导致命令失败。而根目录中有些什么,是无法预期的;
  • 调用后的命令会持续运行,直到因为计数器达到指定时间或者是外界给出一些刺激停止。一些典型的例子如ping www.bing.cn(Linux 下),这一命令将会持续的进行 ping 操作直到外界将其终止。

对于这 3 种命令的处理方式,也是稍有不同的。

快速结束的命令(无需返回值)

对于这样的命令,因为其非常快的就可以执行完毕,且不需要返回值,一般来说,直接在需要调用的进程中,直接使用 Java 的 exec 方法进行调用就可以了。

快速结束的命令(需要返回值)

对于这样的命令,虽然我们需要获得它的返回值,但是因为其执行速度很快,所以,也可以直接在需要调用的金成中使用 exec 方法进行调用。但是不要忽略这样的情况 echo fileName.txt,假如文本文件的内容非常多,虽然程序能够执行,但是也许需要浪费很多的时间进行输出,那么实际需要的时间也是很久的,对于这样的命令,应该参照长连接命令进行处理。

长连接命令

对于长连接命令,一般来说,会单独的开一个线程,在该线程中开启 Java 的 Process 进行命令的处理。对应的代码,稍后给出。

Android 中调用本地命令的更多相关文章

  1. 【转】Android 学习笔记——利用JNI技术在Android中调用、调试C++代码

    原文网址:http://cherishlc.iteye.com/blog/1756762 在Android中调用C++其实就是在Java中调用C++代码,只是在windows下编译生成DLL,在And ...

  2. [转][android][利用JNI技术在Android中调用、调试C++代码]

    在Android中调用C++其实就是在Java中调用C++代码,只是在windows下编译生成DLL,在Android中会生成Linux系统下的.so文件(好吧,其实我基本没用过Linux). 没写过 ...

  3. js网页中调用本地应用程序

    <!DOCTYPE html> <html lang="zh-CN"> <head> <meta http-equiv="Con ...

  4. Android中调用C++函数的一个简单Demo

    这里我不想多解释什么,对于什么JNI和NDK的相关内容大家自己去百度或谷歌.我对Android的学习也只是个新手.废话少说直接进入正题. 一.在Eclipse中创建一个Android Applicat ...

  5. 在Android中调用WebService

    某些情况下我们可能需要与Mysql或者Oracle数据库进行数据交互,有些朋友的第一反应就是直接在Android中加载驱动然后进行数据的增删改查.我个人不推荐这种做法,一是手机毕竟不是电脑,操作大量数 ...

  6. 在Android中调用C#写的WebService(附源代码)

    由于项目中要使用Android调用C#写的WebService,于是便有了这篇文章.在学习的过程中,发现在C#中直接调用WebService方便得多,直接添加一个引用,便可以直接使用将WebServi ...

  7. Awk中调用shell命令

    Awk中调用shell命令 需求 在awk中,有时候需要调用linux系统中命令,如计算字符串的MD5值,并保存下来. 方法参考 call a shell command from inside aw ...

  8. 【转载】如何在C语言中调用shell命令

    转载自:http://blog.csdn.net/chdhust/article/details/7951576 如何在C语言中调用shell命令 在linux操作系统中,很多shell命令使用起来非 ...

  9. Java乔晓松-android中调用系统拍照功能并显示拍照的图片

    android中调用系统拍照功能并显示拍照的图片 如果你是拍照完,利用onActivityResult获取data数据,把data数据转换成Bitmap数据,这样获取到的图片,是拍照的照片的缩略图 代 ...

随机推荐

  1. 搭建lamp或者lnmp环境,本地链接mysql报错解决方法

    报错:1130-host...is not allowed to connect to this mysql server 解决方法: 1.改表法 可能是你的账号不允许从远程登录,这个时候只要进入服务 ...

  2. PHP保存数组到数据库

    数组是 PHP 开发中使用最多的数据类型之一,对于结构化的数据尤为重要. 很多时候我们需要把数组保存到数据库中,实现对结构化数据的直接存储和读取. 其中一个案例就是,对于 Form 提交的多选 che ...

  3. PS中10种样式操作

    (1)投影:将为图层上的对象.文本或形状后面添加阴影效果.投影参数由“混合模式”.“不透明度”.“角度”.“距离”.“扩展”和“大小”等各种选项组成,通过对这些选项的设置可以得到需要的效果. (2)内 ...

  4. NFS服务的搭建

    NFS服务的作用:提供网络文件系统给客户机 nfs服务器的安装配置和使用: 1.将已经制作好的文件系统rootfs_fs210_audio.tgz 拷贝到 /opt,并解压(这里的/opt目录是通过s ...

  5. Linuxg环境搭建

    1.使用VMWARE软件安装虚拟机,创建打开将进入桌面. 2.配置静态IP.IP环境关系到能否使用网络进行软件的下载,即apt的使用. 1).找到文件并作如下修改:sudo vim /etc/netw ...

  6. Zeta--S3 Linux抓取一帧YUV图像后使用硬件编码器编码成H.264

    #include <stdio.h> #include <stdlib.h> #include <string.h> #include <getopt.h&g ...

  7. PTA(BasicLevel)-1012 数字分类

    一 题目描述    给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字: ​​ = 能被 5 整除的数字中所有偶数的和: ​​ = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即 ...

  8. PTA基础编程题目集6-6求单链表结点的阶乘和(函数题)

    本题要求实现一个函数,求单链表L结点的阶乘和.这里默认所有结点的值非负,且题目保证结果在int范围内. 函数接口定义: int FactorialSum( List L ); 其中单链表List的定义 ...

  9. Altera三速以太网IP核使用(下篇)--- 百兆网接口设计与使用

    MAC IP核的主要作用是:实现数据链路层协议,分为TX方向与RX方向,TX方向实现的是在原包文的前面加上7个55和1个D5,RX方向则相反.在使用这个 MAC IP核之前,首先确认下自己使用的网卡是 ...

  10. .Net 两个对像之间的映射 ( 二 )

    一.使用 class Program { static void Main(string[] args) { User u1 = new User(); u1.UserName = "aaa ...