
Android学习之旅
主要记录个人Android的学习过程,也希望大家在学习Android时,能予以参考
drinkingcode
分享好玩科技,探索未知世界
展开
-
Android_10_C调用java
前言:本示例是先通过java的click方法调用C代码中的helloC方法,然后在C代码的helloC方法里边再去调用java中的show方法所以我们这个章节的重点是看C代码是如何去调用java中的方法的;注:关于java调用C的步骤就不在此赘述了,前面有讲解;代码示例如下:MainActivity.javapackage com.itheima.ccallja原创 2015-10-26 23:47:49 · 432 阅读 · 0 评论 -
Android_10_java调用C(借助NDK工具自动生成.so)
第一步:添加NDK到Esclipse工具中,具体操作如下:Windows -----> Preferences -----> Android -----> NDK 然后添加你的NDK路径即可,例如:注:最后别忘了点OK哈!第二步:点击你的项目右键 ------> Android Tools ------> Add Native Sup原创 2015-10-26 22:46:17 · 635 阅读 · 1 评论 -
Android_10_javah命令
Javah命令时为了让其自动生成我们jni的方法名,而省去我们一个字一个字地敲具体用法如下:找到你项目的src目录,在该目录下,按住Shift + 鼠标右键 -----> 在此处打开命令行窗口在打开的命令行窗口中执行javah 包名+类名+Java文件名如:在我的示例中,我执行的命令如下:执行完此命令后,我们可以看到在src目录下自动生成了com_ithei原创 2015-10-26 21:56:56 · 490 阅读 · 0 评论 -
Android_10_Java调用C代码(纯手工制作)
第一步:在工程目录下创建一个文件夹,名为 jni ,然后在jni目录下创建一个c文件,例如我的c文件名为:hello.c第二步:在Java程序中定义一个本地方法,这个方法是要我们用c来实现的,如:package com.itheima.helloworld1;import android.os.Bundle;import android.app.Activity;i原创 2015-10-26 09:40:24 · 460 阅读 · 0 评论 -
Android_09_自定义内容提供者及访问内容提供者
前言:内容提供者是安卓应用程序的主要基石之一,其目的是为应用程序提供内容。它们封装数据,然后通过一个ContentResolver接口将封装的数据提供给应用程序;如果你想要在多个应用中去共享数据,那么只需要一个内容提供者就可以了;例如:联系人的数据是被多个应用所共享的,所以这个数据必须存储在一个内容提供者中;如果你不想在多个应用中去共享这个数据,那么你可以通过SQLite数据库来实原创 2015-10-25 11:21:39 · 804 阅读 · 0 评论 -
Android_08_样式和主题
工程目录 -----> res -----> values -----> styles.xml在styles.xml文件中,定义了样式和主题,如下: <!-- Base application theme, dependent on API level. This theme is replaced by AppBaseTheme fro原创 2015-10-22 13:20:13 · 470 阅读 · 0 评论 -
Android_08_用AIDL访问远程服务中的方法
第一步:创建一个远程服务,如我的RemoteService.java (记得在文件清单中声明service)package com.itheima.remoteservice;import android.app.Service;import android.content.Intent;import android.os.Binder;import android.os.IBin原创 2015-10-22 09:45:24 · 700 阅读 · 0 评论 -
Android_08_创建,启动和关闭远程服务
前言:服务的分类:本地服务:指的是服务和启动服务的activity在同一个进程中远程服务:指的是服务和启动服务的activity不在同一个进程中创建并启动远程服务的代码示例如下:创建远程服务:MainActivity.javapackage com.itheima.remoteservice;import android.os.Bundle;impor原创 2015-10-21 23:37:17 · 1816 阅读 · 1 评论 -
Android_08_使用服务注册广播
MainActivity.javapackage com.itheima.register;import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.view.Menu;import android.view.View;public clas原创 2015-10-21 22:11:54 · 508 阅读 · 0 评论 -
Android_07_电话录音机
MainActivity.javapackage com.itheima.recorder;import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.view.Menu;import android.view.View;public clas原创 2015-10-21 16:29:18 · 482 阅读 · 0 评论 -
Android_08_服务的使用总结
前言:服务是应用程序的一个组件,一般用在不与用户交互情况下去执行一个较长时间运行的操作或者是提供功能为其他应用所使用;每一个Service类必须在AndroidManifest.xml下进行的声明;服务可以通过Context.startService()或者Context.bindService()来启动;需要知道一点的就是:服务,像其他应用程序对象一样,在宿主进程的主线程中运行。原创 2015-10-21 15:39:50 · 416 阅读 · 0 评论 -
Android_07_有序广播及最终广播接收者
前言:广播分为两类:一类是Normal broadcasts,另一类是Ordered broadcastsNormal broadcasts:其是通过sendBroadcast()进行发送,其完全是异步的,广播接收者以一个不确定的顺序接收广播,但通常都是在同一个时刻接收到广播Ordered broadcasts:其是通过sendOrderedBroadcast()进行广原创 2015-10-21 14:51:54 · 790 阅读 · 0 评论 -
Android_07_自定义广播
前言:sendBroadcast()可用来发送广播,关于广播的接收,第一种方法是通过registerReceiverr()动态进行注册广播,第二种方法就是静态地在清单文件中去声明一个广播Note:如果你通过registerReceiverr()在Activity.onResume()方法体中注册广播,那么相应地你应该在Activity.onPause()方法中将这个注册原创 2015-10-21 14:16:49 · 654 阅读 · 0 评论 -
Android_07_监控应用的状态
MainActivity.javapackage com.itheima.applistener;import android.os.Bundle;import android.app.Activity;import android.view.Menu;public class MainActivity extends Activity { @Override p原创 2015-10-21 14:08:43 · 410 阅读 · 0 评论 -
Android_07_开机自启动
MainActivity.javapackage com.itheima.lesuo;import android.os.Bundle;import android.app.Activity;import android.view.Menu;public class MainActivity extends Activity { @Override protect原创 2015-10-21 14:03:33 · 440 阅读 · 0 评论 -
Android_07_监控SD卡的状态
MainActivity.javapackage com.itheima.sdlistener;import android.os.Bundle;import android.app.Activity;import android.view.Menu;public class MainActivity extends Activity { @Override pr原创 2015-10-21 13:43:02 · 490 阅读 · 0 评论 -
Android_07_短信防火墙
MainActivity.javapackage com.itheima.smslanjie;import android.os.Bundle;import android.app.Activity;import android.view.Menu;public class MainActivity extends Activity { @Override pro原创 2015-10-21 12:38:57 · 457 阅读 · 0 评论 -
Android_07_IP拨号器
前言:IP拨号器就是在你打电话时,自动在你打电话的前面添加一串特定的数字,这样可以节省你打电话的资费在本例中,其原理就是:用户先手动设定这一特定的数字,然后在打电话时,由于其会发送广播,那么,广播接收者在接收广播时,先将其截取,然后重新设置广播中的内容再发送出去,这样,你打出去的电话前面就会多出用户之前设定的一串数字;代码示例如下:MainActivity.java原创 2015-10-21 11:24:10 · 560 阅读 · 0 评论 -
Android_06_返回Activity时,传递数据
MainActivity.javapackage com.itheima.getresult;import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.view.Menu;import android.view.View;import andr原创 2015-10-21 10:18:01 · 558 阅读 · 0 评论 -
Android_06_横竖屏切换
MainActivity.javapackage com.itheima.lifecycle;import com.itheima.hengshu.R;import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.content.pm.Activi原创 2015-10-21 10:00:40 · 578 阅读 · 0 评论 -
Android_06_Activity的四种启动模式
Activity的四种启动模式>每个应用会有一个Activity任务栈,存放已启动的Activity>Activity的启动模式,是用来修改任务栈的排列情况在清单文件中,可对Activity的启动模式进行设置,如:<activity android:launchMode="singleInstance" android:name="原创 2015-10-21 09:13:54 · 451 阅读 · 0 评论 -
Android_06_Activity的生命周期
生命周期流程图:注:Activity生命周期void onCreate()* Activity已经被创建完毕void onStart()* Activity已经显示在屏幕,但没有得到焦点void onResume()* Activity得到焦点,可以与用户交互void onPause()* Activity失去焦点,无法再与用户交互,但依然可原创 2015-10-20 22:10:48 · 440 阅读 · 0 评论 -
Android_06_Activity跳转时,数据的传递及接收
MainActivity.javapackage com.itheima.senddata;import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.view.Menu;import android.view.View;public clas原创 2015-10-20 21:52:08 · 527 阅读 · 0 评论 -
Android_06_Activity的跳转
MainActivity.javapackage com.itheima.jump;import android.net.Uri;import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.view.Menu;import android.vie原创 2015-10-20 21:35:47 · 494 阅读 · 0 评论 -
Android_05_多线程断点续传下载
MainActivity.javapackage com.itheima.mobilemultidownload;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.InputStream;import java.io.InputStreamR原创 2015-10-19 22:59:52 · 446 阅读 · 0 评论 -
Android_04_HttpURLConnection使用总结
前言:HttpURLConnection的使用步骤如下:1>获取HttpURLConnection对象,如: URL url = new URL("http://www.baidu.com/"); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();2>设置HTTP请原创 2015-10-18 21:32:50 · 465 阅读 · 0 评论 -
Android_04_网络图片查看器
1>不带缓存的图片查看器MainActivity.javapackage com.ithiema.imageviewer;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import jav原创 2015-10-18 16:39:57 · 600 阅读 · 0 评论 -
Android_03_三种对话框
MainActivity.javapackage com.itheima.dialog;import android.os.Bundle;import android.app.Activity;import android.app.AlertDialog;import android.app.AlertDialog.Builder;import android.content.Di原创 2015-10-17 17:49:22 · 616 阅读 · 0 评论 -
Android_03_SimpleAdapter的使用
MainActivity.javapackage com.example.simpleadapter;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.app.Activity;import android.o原创 2015-10-16 22:22:23 · 385 阅读 · 0 评论 -
Android_03_ArrayAdapter的使用
MainActivity.javapackage com.example.arrayadapter;import android.app.Activity;import android.os.Bundle;import android.widget.ArrayAdapter;import android.widget.ListView;public class MainActiv原创 2015-10-16 22:14:50 · 336 阅读 · 0 评论 -
Android_03_关于ListView的使用
MainActivity.javapackage com.itheima.showdata;import java.util.ArrayList;import java.util.List;import com.itheima.listviewshowdata.R;import com.itheima.showdata.domain.Person;import android.原创 2015-10-16 17:43:33 · 463 阅读 · 0 评论 -
Android_03_数据库的使用总结
前言:1>区分SQL和SQLiteSQL 是一门 ANSI 的标准计算机语言,用来访问和操作数据库系统。SQL 语句用于取回和更新数据库中的数据。SQL 可与数据库程序协同工作,比如 MS Access、DB2、Informix、MS SQL Server、Oracle、Sybase 以及其他数据库系统。不幸地是,存在着很多不同版本的 SQL 语言,但是为了与 ANSI 标准相原创 2015-10-15 21:57:27 · 443 阅读 · 0 评论 -
Android_03_单元测试框架
测试类(用于单元测试之用)package com.itheima.junit.test;import com.itheima.junit.utils.Utils;import android.test.AndroidTestCase;public class TestCase extends AndroidTestCase { public void test(){ int原创 2015-10-15 16:27:03 · 357 阅读 · 0 评论 -
Android_02_获取SD卡的可用容量
代码示例如下:package com.itheima.getsdavail;import java.io.File;import android.os.Build;import android.os.Bundle;import android.os.Environment;import android.os.StatFs;import android.app.Activity;原创 2015-10-14 23:09:48 · 566 阅读 · 0 评论 -
Android_02_文件访问权限(待更新)
前言:打开 File Explorer可以看到:10个字母表示的意义:drwxrwxrwx第一个字母: * d:表示文件夹 * -:表示文件 第一组rwx:表示的是文件拥有者(owner)对文件的权限 * r:read,读 * w:write * x:execute 第二组rwx:表示的是跟文件拥有者属于同一原创 2015-10-15 10:54:22 · 615 阅读 · 0 评论 -
Android_02_关于SharePreferences的使用
前言:我们使用SharePreferences的主要目的是针对一些简单的数据进行存取,其是通过键值对来存取的,其实质是通过xml文件进行保存的;对于一些简单数据的存取,我们可以用SharePreferences,替代其他几种复杂的数据存取的方式,比如文件的读写或者数据库的操作;本示例演示的内容是:通过SharedPreferences来实现记住密码的功能,无需第二次再输入密原创 2015-10-15 11:34:41 · 2889 阅读 · 0 评论 -
Android_02_表格布局
代码示例如下:<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:stretchColumns="1"原创 2015-10-14 12:38:09 · 334 阅读 · 0 评论 -
Android_02_帧布局
代码示例如下:<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <!-- 帧布局:原创 2015-10-14 11:39:45 · 560 阅读 · 0 评论 -
Android_02_相对布局
代码如下:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <!-- 相对布局:原创 2015-10-14 09:47:32 · 402 阅读 · 0 评论 -
Android_02_线性布局
xml文件如下:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height=原创 2015-10-13 23:01:03 · 543 阅读 · 0 评论