摘要:
这一节C回调java程序方法,这步骤如下: : 启动eclipse,新建一个android工程,取名:hellojnidemo5,MainActivity的包名:package com.example.hellojnidemo5;这里面我回调的函数不是在这个包下,另外重新新建了一个包:package java2c;在package java2c下新建一个回调用的类:functionInteface,代码如下:package java2c;public class functionInteface { public native void javaToca(); public nat...
阅读全文
posted @ 2014-03-17 01:18
MMLoveMeMM
阅读(326)
推荐(0)
摘要:
这一节增加打印LOG的内容,需要在C那边修改两个地方即可以了 : c源文件:#include//修改日志tag中的值#define LOG_TAG "logfromc"//日志显示的等级#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)增加这一部分. : Android.mk增加库文件,不然编译会有问题的:LOCAL_
阅读全文
posted @ 2014-03-16 23:37
MMLoveMeMM
阅读(195)
推荐(0)
摘要:
这一节只是在节的基础上增加一个java到C数组数据传递用法,其他的通,下面只给出新增加部分: : 新建一个jniarr.c源文件:#include#includejintArray Java_com_example_hellojnidemo4_MainActivity_oarray(JNIEnv * env,jobject obj,int arr[]) { // 1.获取到 arr的大小 int len = (*env)->GetArrayLength(env, arr); if (len == 0) { return arr; } //取出数组中第...
阅读全文
posted @ 2014-03-16 22:47
MMLoveMeMM
阅读(245)
推荐(0)
摘要:
好了,下面的demo程序介绍多个c文件和对应一个h文件的操作方法和步骤: : 启动eclipse 并且新建一个hellojnidemo4 的android工程,然后将cgywin的编译路径切换到该目录下. : 还是新建jni目录和配置文件Android.mk和Application.mk等文件 : 先看一下c源代码:#include "jnia.h"// java中的jstring, 转化为c的一个字符数组char* Jstring2CStr(JNIEnv* env, jstring jstr) { char* rtn = NULL; jclass clsstring =
阅读全文
posted @ 2014-03-16 22:17
MMLoveMeMM
阅读(270)
推荐(0)
摘要:
一个Android.mk file用来向编译系统描述你的源代码。具体来说:该文件是GNU Makefile的一小部分,会被编译系统解析一次或多次。你可以在每一个Android.mk file中定义一个或多个模块,你也可以在几个模块中使用同一个源代码文件。编译系统为你处理许多细节问题。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。makefile带来的好处就是——“
阅读全文
posted @ 2014-03-16 17:59
MMLoveMeMM
阅读(176)
推荐(0)
摘要:
换个浏览器来发,IE10不能够上传图片,兼容问题.还是和上一篇一样的步骤,不过这次函数带了参数: : eclipse新建一个hellojnidemo3工程,然后将cgywin切换到这个目录下; : 新建jni文件夹,然后新建.c源码文件,配置文件Android.mk,Application.mk文件,如果不想写了,就照抄以前的内容,改了lib名和c文件名;Android.mkLOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := jnilibLOCAL_SRC_FILES := hjni.cinclude $(BU...
阅读全文
posted @ 2014-03-16 17:50
MMLoveMeMM
阅读(275)
推荐(0)
摘要:
其他不废话!步骤如下: : eclipse 启动/cgywin启动(目录已经设定好了,就等着输入编译命令); : 新建一个hellojnidemo android工程,在工程文件夹下新建一个jni文件夹,然后新建一个c扩展名的源文件,输入:#include#include#includejstringJava_com_example_hellojnidemo_MainActivity_messageshow(JNIEnv* env, jobject thiz) {#if defined(__arm__)#if defined(__ARM_ARCH_7A__)#if defined(__ARM_
阅读全文
posted @ 2014-03-16 16:59
MMLoveMeMM
阅读(284)
推荐(0)
摘要:
Application.mk简介:0. 基础知识介绍: Application.mk用来描述应用程序需要哪些modules。Application.mk通常放在:$PROJECT/jni/Application.mk。 2. Application.mk变量: Application.mk是GNU Makefile的一个小片段。它可以定义以下变量。 APP_PROJECT_PATH:以绝对路径指向Project root目录。APP_MODULES:可选项,如果没有定义,则NDK编译所有Android.mk中的modules.如果定义了,则只编译Android.mk中被APP_MODULES指
阅读全文
posted @ 2014-03-16 16:31
MMLoveMeMM
阅读(310)
推荐(0)
摘要:
Android.mk是Android提供的一种makefile文件,用来指定诸如编译生成so库名、引用的头文件目录、需要编译的.c/.cpp文件和.a静态库文件等。要掌握jni,就必须熟练掌握Android.mk的语法规范。一、Android.mk文件的用途 一个android子项目中会存在一个或多个Android.mk文件 1、单一的Android.mk文件 直接参考NDK的sample目录下的hello-jni项目,在这个项目中只有一个Android.mk文件 2、多个Android.mk文件 如果需要编译的模块比较多,我们可能会将对应的模块放置在相应的目录中, 这样,我们可以在每个目录中
阅读全文
posted @ 2014-03-16 16:30
MMLoveMeMM
阅读(438)
推荐(0)
摘要:
NDK开发环境搭建参照博客其他文章,搭建好了以后开始测试第一个ndk文件夹下面samples HelloJni工程,步骤如下: : 启动cgywin,然后输入cd $NDK,显示如下:进入主目录后,其他查看目录或者进入深一级目录命令和linux一样,不多解释;进入然后输入 : cd ./samples/hello-jni(进入工程目录下). : eclipse启动,import hello-jni工程,可以在导入之前先手工备份这些samples : 进入目录就可以开始编译了,输入: $NDK/ndk-build(没有空格);demo中会编译出4个针对不同cpu的so文件,这个是在C中预定义好的
阅读全文
posted @ 2014-03-16 15:43
MMLoveMeMM
阅读(312)
推荐(0)
摘要:
主源文件:package com.example.handlerdemo;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.app.Activity;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import
阅读全文
posted @ 2014-03-16 14:55
MMLoveMeMM
阅读(327)
推荐(1)
摘要:
在Android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制。而BroadcastReceiver是对发送出来的 Broadcast进行过滤接受并响应的一类组件。下面将详细的阐述如何发送Broadcast和使用BroadcastReceiver过滤接收的过程: 首先在需要发送信息的地方,把要发送的信息和用于过滤的信息(如Action、Category)装入一个Intent对象,然后通过调用 sendOrderBroadcast()或sendStickyBroadcast()方法,把 Intent对象以广播方式发送出去。 当Intent发送以后,所有已经注册的Broad..
阅读全文
posted @ 2014-03-16 13:03
MMLoveMeMM
阅读(5545)
推荐(0)
摘要:
Web服务器是什么Web服务器是指驻留于因特网上某种类型计算机的程序。当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件发送到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。服务器使用HTTP(超文本传输协议)进行信息交流,这就是人们常把它们称为HTTPD服务器的原因。 Web服务器不仅能够存储信息,还能在用户通过Web浏览器提供的信息的基础上运行脚本和程序。 Web服务器可以解析HTTP协议。当Web服务器接收到一个HTTP请求,会返回一个HTTP响应,例如送回一个HTML页面。为了处理一个请求Web服务器可以响应一个静态页面或图片,进行页面跳转或者
阅读全文
posted @ 2014-03-15 17:39
MMLoveMeMM
阅读(324)
推荐(0)
摘要:
一、Android网络通信 android网络通信一般有三种:java.net.*(标准Java接口)、Org.apache接口和Android.net.*(Android网络接口),涉及包括流、数据包套接字(socket)、Internet协议、常见Http处理等。 1、使用Socket进行通信 Socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。Android Socket开发和JAVA Socket开发类似 无非是创建一个Socket服务端和Socket客户端进行通信。 Socket服务端代码: 1 try{ 2 // 新建服务器S...
阅读全文
posted @ 2014-03-15 17:37
MMLoveMeMM
阅读(368)
推荐(0)
摘要:
前言 这篇博客讲解一下Android下的一个简单信息提示的方式:Toast。如果一直看我的博客,会发现在之前的Demo中,一直有用到Toast去提示消息,在这篇博客中就专门讲它。Toast提供一个浮动的简单的小显示块,并且不影响任何其他操作,仅仅用于提示信息,并且会在超时后,自动消失。因为它的及时性已经自动消失的特性,不适合提示一些重要的信息,如果有重要的信息,可以使用Notification提示用,Notification之后会介绍。在本片博客中将讲解Toast的常规使用,以及特殊的属性、方法的使用,并且会说明如何使用Toast创建一个自定义的内容,并且最后会对以上讲解的内容给出代码示例。.
阅读全文
posted @ 2014-03-14 00:38
MMLoveMeMM
阅读(270)
推荐(0)
摘要:
前言 之前一篇博客讲了Android下使用Toast的方式提示消息。这篇博客讲解一下在Android中使用Notification提示消息给用户,Notification是一种具有全局效果的通知,程序一般通过NotificationManager服务来发送Notification。在本篇博客中,将介绍Notification的常规使用,以及自定义方式的使用,对于每种不同的方式,都提供示例展示效果。Notification Notification,俗称通知,是一种具有全局效果的通知,它展示在屏幕的顶端,首先会表现为一个图标的形式,当用户向下滑动的时候,展示出通知具体的内容。 因为Andr...
阅读全文
posted @ 2014-03-14 00:32
MMLoveMeMM
阅读(220)
推荐(0)
摘要:
我们可以在很多应用中都能看到按两次返回键退出 , 其实这个功能实现很容易, 下面就是实现的代码 , 把它放到你的程序中你的程序就能按两次返回键退出啦, 这个功能是为了避免误点而把程序退出了 ,给你的程序也加上这个简单实用的功能把 :import android.app.Activity;import android.app.AlertDialog;import android.os.Bundle;import android.view.KeyEvent;import android.view.WindowManager;import android.widget.Toast;public cl
阅读全文
posted @ 2014-03-13 19:58
MMLoveMeMM
阅读(1114)
推荐(0)
摘要:
本例严重过期,并且使用了不开源且收费的库 请尝试最新开源版: Android基于OpenSL ES,Speex,RTMP的Voip客户端实现 iOS版: iOS基于Audio Queues,Speex,Rtmp的Voip客户端—————-仅供参考请勿用于项目———————– 先说下实现原理,手机采集到语音后进过Speex编码,通过juv以直播形式发布自己的语音流到red5,也是通过juv播放对方的直播流,经过Speex解码后输出到扬声器,如下图: Android端采集编码和解码播放Speex,参考android-recorder,至于他用的red5客户端,看了下,没看明白。。。 JUV这库吧
阅读全文
posted @ 2014-03-13 00:28
MMLoveMeMM
阅读(959)
推荐(0)
摘要:
Eclipse 常用快捷键 Eclipse的编辑功能非常强大,掌握了Eclipse快捷键功能,能够大大提高开发效率。Eclipse中有如下一些和编辑相关的快捷键。 1. 【ALT+/】 此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类、方法和属性的名字时,多体验一下【ALT+/】快捷键带来的好处吧。 2. 【Ctrl+O】 显示类中方法和属性的大纲,能快速定位类的方法和属性,在查找Bug时非常有用。3. 【Ctrl+/】 快速添加注释,能为光标所在行或所选定行快速添加注释或取消注释,在调试的时候可能总会需要注释一些东西或取消注释,现在好了,不...
阅读全文
posted @ 2014-03-13 00:26
MMLoveMeMM
阅读(256)
推荐(0)
摘要:
最近在在研究语音通话的实现,现在把我的实现思路记录在这里。不过,由于初次接触语音通话,所以这是一个简单的思路,也是经过google以及baidu之后的一个学习总结。 我认为一个语音通话系统至少有四个模块。分别是PCM(Pulse Code Modulation,即 脉码编码调制)语音采集,编解码,网络传输以及语音播放。如果算上UI交互的话,就是五个模块了。 整体流程大概是:A打电话给B,A声音通过MIC被采集成PCM原始数据,然后经过编码压缩,再通过网络(建立P2P连接)将编码后的数据传输出去;B端通过网络收到数据后进行解码处理,然后调用播放模块,进行播放数据。 一、语音采集模块 An...
阅读全文
posted @ 2014-03-13 00:24
MMLoveMeMM
阅读(560)
推荐(0)
摘要:
AudioRecord和AudioTrack类是Android获取和播放音频流的重要类,放置在android.media包中。与该包中的MediaRecorder和MediaPlayer类不同,AudioRecord和AudioTrack类在获取和播放音频数据流时无需通过文件保存和文件读取,可以动态地直接获取和播放音频流,在实时处理音频数据流时非常有用。 当然,如果用户只想录音后写入文件或从文件中取得音频流进行播放,那么直接使用MediaRecorder和MediaPlayer类是首选方案,因为这两个类使用非常方便,而且成功率很高。而AudioRecord和AudioTrack类的使用却比较.
阅读全文
posted @ 2014-03-13 00:22
MMLoveMeMM
阅读(676)
推荐(0)
摘要:
路漫漫其修远兮,吾将上下而求索。——屈原《离骚》 昨天写this用法总结的时候,突然产生了一个问题,请教别人之后,有了自己的一点认识。还是把它写下来,为大家更好的认识提供一点思路。1)有人写了个很好的初始化属性的构造函数,而你仅仅想要在其中添加另一些自己新建属性的初始化,这样在一个构造函数中调用另外一个构造函数,可以避免重复的代码量,减少工作量;2)在一个构造函数中调用另外一个构造函数的时候应该用的是同一块内存空间,在默认的构造函数中先初始化变量,调用另一个的时候覆写已经初始化的变量的值;3)整个调用的过程和递归调用函数有点类似,不断充气球,直到整个气球膨胀起来,不断的深层递进,遇到停止标记.
阅读全文
posted @ 2014-03-13 00:15
MMLoveMeMM
阅读(309)
推荐(0)
摘要:
android中,联网操作有http连接和socket连接两大类。由于项目需要,我们采取的是Socket连接。鉴于平时连接频繁,因此把Socket连接放到Service里,需要从服务器端获取数据时,只要调用Service中相应方法即可。Service大致结构是:public class InternetService extends Service implements Runnable { private Socket socket; private BufferedReader reader;// private PrintWriter writer;// private Binder b
阅读全文
posted @ 2014-03-12 18:06
MMLoveMeMM
阅读(435)
推荐(0)
摘要:
http://www.cnblogs.com/laojie4321/archive/2012/05/01/2478366.html一Android与PC通讯:PC: Java ServerAndroid:Java ClientJava Server源代码:publicclassPCSERVERimplementsRunnable {publicstaticfinalStringPCIP="192.168.0.254";publicstaticfinalintPCPORT= 55555;publicvoidrun() {try{System.out.println("
阅读全文
posted @ 2014-03-12 18:01
MMLoveMeMM
阅读(247)
推荐(0)
摘要:
注明:以下部分内容来自Linux下Socket编程1 关于socket关于socket百度百科里有这样的解释:通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。Socket正如其英文原意那样,象一个多孔插座。一台主机犹如布满各种插座的房间,每个插座有一个编号,有的插座提供220伏交流电, 有的提供110伏交流电,有的则提供有线电视节目。 客户软件将插头插到不同编号的插座,就可以得到不同的服务。至此,我们对sock
阅读全文
posted @ 2014-03-12 17:59
MMLoveMeMM
阅读(268)
推荐(0)
摘要:
先看例子一:Java代码packagecom.example.looper_1;importandroid.app.Activity;importandroid.os.Bundle;importandroid.graphics.Color;importandroid.os.Handler;importandroid.os.Looper;importandroid.os.Message;importandroid.util.Log;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.widge
阅读全文
posted @ 2014-03-12 09:53
MMLoveMeMM
阅读(195)
推荐(0)
摘要:
上一篇博客讲解了Handler实现线程间通信,这篇博客讲解一下Handler运行的原理,其中涉及到MessageQueue、Looper。简要来讲,Handler会把一个线程消息发送给当前线程的消息队列,从最后Handler会处理消息队列中的消息,这里的消息队列就是MessageQueue,而管理消息队列的,就是Looper。 Handler、MessageQueue、Looper三者间的关系如图: 从上图可以看出,Handler发送线程消息到当前线程的MessageQueue中,而Looper用来管理MessageQueue,它从MessageQueue中取到消息交给Handler处理。..
阅读全文
posted @ 2014-03-12 09:48
MMLoveMeMM
阅读(285)
推荐(0)
摘要:
在Android中, 每个应用程序都有自己的进程,当需要在不同的进程之间传递对象时,该如何实现呢? 显然, Java中是不支持跨进程内存共享的。因此要传递对象, 需要把对象解析成操作系统能够理解的数据格式, 以达到跨界对象访问的目的。在JavaEE中,采用RMI通过序列化传递对象。在Andro...
阅读全文
posted @ 2014-03-11 19:58
MMLoveMeMM
阅读(389)
推荐(0)
摘要:
作为一个大三的预备程序员,我学习android的一大乐趣是可以通过源码学习google大牛们的设计思想。android源码中包含了大量的设计模式,除此以外,android sdk还精心为我们设计了各种helper类,对于和我一样渴望水平得到进阶的人来说,都太值得一读了。这不,前几天为了了解android的消息处理机制,我看了Looper,Handler,Message这几个类的源码,结果又一次被googler的设计震撼了,特与大家分享。android的消息处理有三个核心类:Looper,Handler和Message。其实还有一个Message Queue(消息队列),但是MQ被封装到Loop
阅读全文
posted @ 2014-03-11 19:33
MMLoveMeMM
阅读(184)
推荐(0)
摘要:
为什么要用转义字符串?HTML中,&等有特殊含义(,用于链接签,&用于转义),不能直接使用。这些符号是不显示在我们最终看到的网页里的,那如果我们希望在网页中显示这些符号,该怎么办呢?这就要说到HTML转义字符串(Escape Sequence)了。转义字符串(Escape Sequence)也称字符实体(Character Entity)。在HTML中,定义转义字符串的原因有两个:第一个原因是像“”这类符号已经用来表示HTML标签,因此就不能直接当作文本中的符号来使用。为了在HTML文档中使用这些符号,就需要定义它的转义字符串。当解释程序遇到这类字符串时就把它解释为真实的字符。
阅读全文
posted @ 2014-03-10 22:08
MMLoveMeMM
阅读(432)
推荐(0)
摘要:
android的网络编程分为2种:基于socket的,和基于http协议的。基于socket的用法 服务器端: 先启动一个服务器端的socket ServerSocket svr = new ServerSocket(8989); 开始侦听请求 Socket s = svr.accept(); 取得输入和输出 DataInputStream dis = new DataInputStream(s.getInputStream()); DataOutputStream dos = new DataOutputStream(...
阅读全文
posted @ 2014-03-10 13:19
MMLoveMeMM
阅读(261)
推荐(0)
摘要:
数据库中存取图片通常使用两种方式,一种是保存图片所在路径,二是将图片以二进制的形式存储(sqlite3支持BLOB数据类型)。对于两种方法的使用,好像第二种方法不如第一种方法更受程序员欢迎,他们认为,在很多数据库语言里,处理大字段都是不容易的,像图片这样的文件放在数据库里会有问题:对数据库的读写速度永远赶不上文件系统的处理速度,使数据库变得巨大;但也有很多人认为像图片这样的数据存放在数据库中也有好处:易于备份,且备份速度绝对比备份文件快,比较容易数据迁移等等。其实这两种方法都有优缺点,具体使用哪种方法要视情况而定。个人倾向于使用数据库存取图片,因为个人认为存到数据库里的数据不会因外部数据的变化
阅读全文
posted @ 2014-03-09 01:10
MMLoveMeMM
阅读(288)
推荐(0)
摘要:
众所周知,在程序开发中,难免会遇到需要匹配、查找、替换、判断字符串的情况发生,而这些情况有时又比较复杂,如果用纯编码方式解决,往往会浪费程序员的时间及精力。因此,学习及使用正则表达式,便成了解决这一矛盾的主要手段。大 家都知道,正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它 用以描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。 自从jdk1.4推出java.util.regex包,就为我们提供了很好的JAVA正则表达式应用平台。因为正则表达式是一
阅读全文
posted @ 2014-03-09 01:06
MMLoveMeMM
阅读(136)
推荐(0)
摘要:
java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。它包括两个类:Pattern和Matcher Pattern 一个Pattern是一个正则表达式经编译后的表现模式。 Matcher 一个Matcher对象是一个状态机器,它依据Pattern对象做为匹配模式对字符串展开匹配检查。 首先一个Pattern实例订制了一个所用语法与PERL的类似的正则表达式经编译后的模式,然后一个Matcher实例在这个给定的Pattern实例的模式控制下进行字符串的匹配工作。以下我们就分别来看看这两个类:一、捕获组的概念捕获组可以通过从左到右计算其开括号来编号,编号是从1
阅读全文
posted @ 2014-03-09 01:04
MMLoveMeMM
阅读(251)
推荐(0)
摘要:
原网址:http://droidphp.github.io/Welcome to the DroidPHP projectDroidPHP is a free open-source Web Server for Android.It is properly supported on Android 2.3.3 or Higher.DroidPHP requires 50mb of internal storage for installation on unrooted phones.FeaturesList of Features supported by DroidPHPPHP 5.4.
阅读全文
posted @ 2014-03-09 00:56
MMLoveMeMM
阅读(2103)
推荐(0)
摘要:
lighttpd + php for android 安卓上的WEBSER这个项目在 http://hex.ro/wp/blog/php-and-lighttpd-for-android目前不支持 mysql 和 SSL下载地址 http://hex.ro/tracker/EasyTracker.php?id=42下载后复制到SD卡根,执行如下命令su cd / busybox tar xf /sdcard/php-5.3.8_lighttpd_1.4.29_armv5.tar.gz reload-fcgi.sh reload-lighttpd.sh安装需要 root 权限,busybox必须
阅读全文
posted @ 2014-03-09 00:52
MMLoveMeMM
阅读(632)
推荐(0)
摘要:
前几天玩Android发现个好玩的东西,到GOOGLE市场搜索paw server 安装找到插件,里面有个PHP插件,下载之后解压如插件目录,建立一个PHP文件,放入/sdcard/paw/html/ WEB访问,可以解析PHP文件哦呵呵,不过只支持sqlite数据库和少量扩展除非你的android开ROOT了,运行paw以root身份运行,不的话80使用不了的,这是linux 的限制在装一个ftp server ,在android市场里有很多类似软件,自己下来装一个吧在安装一个dyndns客户端,申请个帐号,二级域名的动态DNS解析是免费的,路由做好端口转发,一个在手机上的PHP 服务器搭建
阅读全文
posted @ 2014-03-09 00:47
MMLoveMeMM
阅读(828)
推荐(0)
摘要:
3、ContentProvider 数据在Android当中是私有的,当然这些数据包括文件数据和数据库数据以及一些其他类型的数据。ContentProvider实现多应用程序间的数据共享类 一般利用ContentProvider为需要共享的数据定义一个URI(统一资源定位符) 然后其他程序通过Context获得ContentResolver并将数据的URI传入即可Android已为一些常用的数据创建ContentProvider,这些ContentProvider位于 android.provider包下,常用的就是手机上联系人信息,但是要取得相应的权限自己的应用程序才能访问 具体设置是在An
阅读全文
posted @ 2014-03-09 00:45
MMLoveMeMM
阅读(569)
推荐(0)
摘要:
本示例介绍在Android平台下通过HTTP协议实现断点续传下载。我们编写的是Andorid的HTTP协议多线程断点下载应用程序。直接使用单线程下载HTTP文件对我们来说是一件非常简单的事。那么,多线程断点需要什么功能?1.多线程下载,2.支持断点。使用多线程的好处:使用多线程下载会提升文件下载的速度。那么多线程下载文件的过程是:(1)首先获得下载文件的长度,然后设置本地文件的长度。 HttpURLConnection.getContentLength();//获取下载文件的长度 RandomAccessFile file = new RandomAccessFile("QQWubi
阅读全文
posted @ 2014-03-09 00:34
MMLoveMeMM
阅读(290)
推荐(0)
摘要:
一、一个命令对应一个进程。 当我们启动一个Java程序,即启动一个main方法时,都将启动一个Java虚拟机进程,不管这个进程有多么复杂。而不同的JVM进程之间是不会相互影响的。这也就是为什么说,Java程序只有一个入口——main方法,让虚拟机调用。而两个mian方法,对应的是2个JVM进程,启动的是两个不同的类加载器,操作的实际上是不同的类。故而不会互相影响。二、类加载。 当我们使用一个类,如果这个类还未加载到内存中,系统会通过加载、连接、初始化对类进行初始化。1、类加载:指的是将类的class文件读入JVM,并为之创建一个Class对象。2、类连接:指的是把类的二进制数据合并到JRE中,
阅读全文
posted @ 2014-03-09 00:29
MMLoveMeMM
阅读(169)
推荐(0)