android
codeteenager
让学习成为一种习惯
展开
-
activity之间传递对象的两种方式
activity之间传递对象有两种方式,第一种方式是类实现Serializable接口,另一种是实现Parcelable接口第一种方式不用多说:import java.io.Serializable;/** * Created by Administrator on 2016/1/8. */public class Cat implements Serializable原创 2016-01-08 20:53:54 · 326 阅读 · 0 评论 -
Android项目的目录结构
Activity:应用被打开时显示的界面 src:项目代码R.java:项目中所有资源文件的资源id Android.jar:Android的jar包,导入此包方可使用Android的apilibs:导入第三方jar包* assets:存放资源文件,比方说mp3、视频文件 bin:存放编译打包后的文件 res:存放资源文件,存放在此文件夹下的所有资源文件都会生成资源原创 2016-04-27 23:30:21 · 189 阅读 · 0 评论 -
常用的adb指令
adb start-server:启动adb进程 adb kill-server:杀死adb进程 adb devices:查看当前与开发环境连接的设备,此命令也可以启动adb进程 adb install XXX.apk:往模拟器安装apk adb uninstall 包名:删除模拟器中的应用 adb shell:进入linux命令行 ps:查看运行进程 ls:查原创 2016-04-27 23:32:18 · 237 阅读 · 0 评论 -
android studio常用快捷键
1. Ctrl+D: 集合了复制和粘贴两个操作,如果有选中的部分就复制选中的部分,并在选中部分的后面粘贴出来,如果没有选中的部分,就复制光标所在的行,并在此行的下面粘贴出来。2. Ctrl+空格: 输入代码时按此组合键会列出与之相匹配的类、方法名、成员变量等,起智能提示的作用。在编辑XML文件一样有用。3. Ctrl+向下箭头 或Ctrl+向上箭头:在有自动匹配下拉列表时,此快捷键原创 2016-04-27 23:34:41 · 169 阅读 · 0 评论 -
android中存储路径的使用
在android中读取内部存储空间有两种方式,内部存储空间在data/data/包名中。你可以使用getFilesDir()和getCacheDir()这两个方法他们属于contextWrapper中的方法。getFilesDir()得到的file对象的路径是data/data/包名/files存放在这个路径下的文件,只要你不删,它就一直在getCacheDir()得到的f原创 2016-04-27 23:43:56 · 222 阅读 · 0 评论 -
android studio使用jni
如果你要使用jni的话首先下载一个ndk,然后配置一下环境变量。在android studio中点击file->project structure中配置然后在app->src->main中创建一个jni文件夹。在jni文件中创建一个c文件,.c为后缀。#include#include#includejstring Java_com_jiang_shuaijie_原创 2016-05-27 14:31:09 · 209 阅读 · 0 评论 -
android存储方式之sharedpreference
sharedpreference用来保存少量数据,原理是一键值对的形式保存在xml中。所以常用来保存一些用户设置,游戏排行榜等。接下来介绍一下使用方法。首先得到sharedpreference这个类,不需要new出来,只需用context上下文的形式getsharedpreference()形式得到。第一个参数内容为你定义这个xml文件的名称,第二个参数是访问模式即文件打开方式。然后拿到编辑e原创 2016-05-29 10:09:10 · 292 阅读 · 0 评论 -
android存储方式之xml
在android中短信不能用sharedpreference存储,所以用xml存储比较方便。原创 2016-05-29 23:50:46 · 325 阅读 · 0 评论 -
android测试框架之单元测试
junit单元测试首先你需要在清单文件中加上如下: android:name="android.test.InstrumentationTestRunner" //指定该测试框架要测试哪一个项目 android:targetPackage="com.itheima.junit" >这段是与同级,然后在中加上如下:原创 2016-05-30 12:39:52 · 199 阅读 · 0 评论 -
android存储方式之sqlite数据库
数据库是一个项目不可缺少的部分,我们都知道一些常见的数据库像mysql,sql server ,oracle。这些数据库常用于网站或是客户端数据量较大的地方。在android系统中内置了一个sqlite的小型数据库方法跟其他数据库差别不大。首先你需要写一个类继承SQLiteOpenHelper然后实现其方法和构造方法。原创 2016-05-31 10:12:58 · 234 阅读 · 0 评论 -
android网络连接之增加缓存
final String path = "http://localhost:8999/72.jpg"; final File file = new File(getCacheDir(), "dd.jpg"); if(file.exists()){//判断缓存文件是否存在 Bitmap bm = BitmapFactory.decodeFile(file.getAb原创 2016-07-10 19:12:24 · 393 阅读 · 1 评论 -
android加载大图片
Options opt = new Options(); opt.inJustDecodeBounds = true; BitmapFactory.decodeFile("sdcard/dog.jpg", opt); int imageWidth = opt.outWidth; int imageHeight原创 2016-07-01 11:12:17 · 132 阅读 · 0 评论 -
android拍照
public void image(View v){ Intent intent = new Intent(); intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE); intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(En原创 2016-07-03 10:16:34 · 217 阅读 · 0 评论 -
android2.3中如何使用HttpClient的问题
今天我用android studio使用HttpClient,发现没有内置的HttpClient包,然后我在网上下载HttpClient包,没有用会出错。最后我上网查了一下不用加入jar包就可以使用了。你只需在android { compileSdkVersion 'Google Inc.:Google APIs:23' buildToolsVersion "23.0.2"原创 2016-01-27 18:12:15 · 216 阅读 · 0 评论 -
android网络连接之下载图片
//图片的网址String path = "http://localhost:8999/72.jpg";try { //把网址封装成一个url对象 URL url = new URL(path); //获取客户端和服务器的连接对象,这时候还没有建立起连接 HttpURLConnection conn = (HttpURLConnection) url.openC原创 2016-07-09 23:16:43 · 302 阅读 · 0 评论 -
Material Design的使用
android5.X使用了Material Design主题,现在我们来看看如何使用。首先在style资源文件中继承android:Theme.Material资源,当然android:Theme.Material...有很多,然后你设置一下它的一些选项。 #f20909 #0919f2原创 2016-07-26 19:25:51 · 383 阅读 · 0 评论 -
ListView的使用
ListView的优化可以使用ViewHolder模式来提高效率。ViewHolder模式充分利用了ListView的视图缓存机制,避免了每次在调用getView()的时候都去通过findViewById()实例化控件。代码如下://主页面 xmlns:tools="http://schemas.android.com/tools" android:layo原创 2016-07-26 19:32:29 · 257 阅读 · 0 评论 -
弹性ListView
默认的ListView滑到顶端或是底端的时候只有一个半月形的效果,并不会反弹回来。所以我们可以通过继承ListView方法,重写overScrollBy(int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX, int scrollRangeY, int maxOverScrollX, int maxOverScro原创 2016-07-26 19:33:40 · 207 阅读 · 0 评论 -
Material Design的其他使用
Material Design给予图像两个新功能tint着色和clip剪裁第一个着色很简单,你只需要在xml文件中配置好android:tint属性和android:tintMode属性就可以。 xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"原创 2016-07-26 19:34:36 · 235 阅读 · 0 评论 -
android四大组件之一内容提供者contentprovider
contentprovider是android四大组件之一作用是把数据暴露给其他应用,通常是把私有数据库的数据暴露给其他应用。public class PersonProvider extends ContentProvider { public PersonProvider() { } //创建uri匹配器对象 UriMatcher um = new原创 2016-07-06 18:14:36 · 398 阅读 · 0 评论 -
android网络连接之httpclient
//get请求方式public void dianji(View view) { String path = "http://jsjtest.applinzi.com/one.php?name="++ URLEncoder.encode("name")+"&pass="+"pass"; //使用HttpClient框架做get方式提交 //首先创建HttpClient客户原创 2016-07-14 16:17:12 · 179 阅读 · 0 评论 -
android之Handler的使用
Handler消息机制:首先在主线程中创建一个Handler,然后创建一个消息Message对象,有两种方法,new Message和Message.obtain,由handler发出到消息队列MessageQueue,MessageQueue中enqueueMessage方法,对所有的msg进行排序,按照时间,如果发现刚才发送的msg排在队列的头部,就唤醒主线程,让主线程去取。然后主线程中默认创原创 2016-08-17 16:08:01 · 164 阅读 · 0 评论 -
android之缓存
三级缓存指的是内存缓存、本地缓存、网络缓存。内存缓存, 优先加载, 速度最快本地缓存, 次优先加载, 速度快网络缓存, 不优先加载, 速度慢,浪费流量当我们使用内存缓存的时候,常常面临着内存溢出问题。为此,Android默认给每个app只分配16M的内存。当我们创建对象的时候,通常将对象放在堆中,引用放在栈中。引用分为以下四类:强引用 垃圾回收器不会回收, java默认原创 2016-08-17 16:06:06 · 250 阅读 · 0 评论 -
android之自定义动画
有时候我们需要做一些高级的特效,普通的动画已经满足不了我们的需要了,为此我们需要自定义一些动画来使用。那么如何自定义动画呢?首先需要定义一个类来继承Animation,然后只需要实现它的applyTransformation方法就可以了。这个方法有两个参数,一个是interpolatedTime就是插值器的时间因子,取值范围为0到1.0.另一个是Transformation,它是矩原创 2016-08-27 16:18:10 · 514 阅读 · 0 评论 -
eclipse的常用快捷键
Ctrl+1 快速修复最经典的Alt+/ 提供内容的帮助记不全方法类属性最常用输入try 按alt / 自动出现代码try catch 一般很容易出现异常的代码或者是很容易出错误的代码放在try...catch中Ctrl+O显示类中方法属性和大纲查找bug时非常有用(函数列表)多按一次Ctrl+O 列出更多的内部变量Ctrl+/为每行或者选择部分添加注释调试有用Ctrl+D删除原创 2016-08-20 18:40:31 · 193 阅读 · 0 评论 -
android studio常用快捷键
1.Ctrl+E,可以显示最近编辑的文件列表 2.Shift+Click可以关闭文件 3.Ctrl+[或]可以跳到大括号的开头结尾 4.Ctrl+Shift+Backspace可以跳转到上次编辑的地方 5.Ctrl+F12,可以显示当前文件的结构 6.Ctrl+F7可以查询当前元素在当前文件中的引用,然后按F3可以选择 7.Ctrl+N,可以快速打开类 8原创 2016-08-20 18:43:51 · 159 阅读 · 0 评论 -
java之单例设计模式
单例设计模式:一个类有且仅有一个实例,而且自行实例化然后提供给其他类。单例设计模式分为两类:饿汉式和饱汉式。饿汉式指的是在类加载时创建。懒汉式指的是在使用的时候进行判断,如果需要再创建。饿汉式的代码如下:public class SinglePattern { private static SinglePattern singlePattern=new SinglePat原创 2016-08-21 20:52:24 · 177 阅读 · 0 评论 -
java之简单工厂设计模式
工厂模式分为简单工厂、工厂方法、抽象工厂。简单工厂模式:通过工厂类在外界信息的条件下来创建对应的类。简单的代码如下://食物的抽象类public interface Food { public void eat();}//薯条继承食物类public class Chips implements Food { @Override原创 2016-08-21 21:20:36 · 190 阅读 · 0 评论 -
java之工厂方法
工厂方法:定义一个创建对象的接口(抽象工厂类),让其子类(具体工厂类)决定实例化哪一个类(具体产品类)。原创 2016-08-21 21:35:39 · 240 阅读 · 0 评论 -
android视图动画
android中Animation框架定义了透明度,旋转,缩放,位移几种常见的动画。视图动画使用简单,效果丰富,它提供了AlphaAnimation、RotateAnimation、TranslateAnimation、ScaleAnimation四种动画方式,它提供了AnimationSet动画集合,混合使用多种动画。接下来列举几个事例:透明度动画:AlphaAnimatio原创 2016-08-02 13:12:23 · 154 阅读 · 0 评论 -
android布局动画
布局动画就是给一个ViewGroup设置其子View的动画。通过LayoutAnimationController类来定义一个子View的过渡效果。然后将其作用在ViewGroup上。代码如下:LinearLayout ll = (LinearLayout) findViewById(R.id.ll);ScaleAnimation sa = new ScaleAnimation原创 2016-08-13 14:46:35 · 206 阅读 · 0 评论 -
Notification的使用
通过Notification我们可以在状态栏、锁屏界面得到相应的提示信息。在android5.0以后有了很大改进,当你长按Notification的时候,会显示消息来源。现在我们来说一下基本的Notification的使用。首先通过Notification.Builder创建一个Notification的builder,然后给点击Notification后要执行的操作创建一个Pen原创 2016-08-13 14:47:31 · 378 阅读 · 0 评论 -
toolar与drawerlayout的使用
当使用toolbar的时候,你需要引用appcompat-v7的支持,并设置主题为NoActionBar。然后在代码中获取到toolbar并设置toolbar的一些属性,通过setSupportActionBar()方法设置toolbar为ActionBar。菜单的配置项与ActionBar基本类似。在drawlayout中,你需要定义两个界面,一个是主界面,一个是侧滑菜单界面。在原创 2016-08-13 14:48:33 · 251 阅读 · 0 评论 -
android属性动画的使用
由于补间动画只能修改显示的位置而不能改变位置,所以我们就使用属性动画。属性动画能真正改变组件的坐标。我们通过ObjectAnimator的静态工厂方法来创建一个ObjectAnimator对象。第一个参数是要操纵的view对象,第二个参数是要操纵的属性,最后一个参数是一个可变数组,这个数组是记录该属性变化的一个取值过程。注意:在使用ObjectAnimation的时候,有一点非常重原创 2016-08-13 14:49:57 · 213 阅读 · 0 评论 -
android帧动画的使用
帧动画,顾名思义就是一帧一帧播放的动画,利用多张图片一张一张进行播放。接下来我们通过在drawable文件夹中使用xml文件来定义帧动画。代码如下: android:oneshot="true"> 其中android:oneshot="true"当为true时,代表动画播放一次,为false时,动画无限循环播放。然后在acti原创 2016-08-13 14:50:36 · 229 阅读 · 0 评论 -
android主题的切换
在android中我们有时需要切换主题,这时候我们可以通过setTheme(int);函数来设置主题。参数是主题的资源id。setTheme函数只能在setContentView函数之前调用。因此当你切换主题时,你需要重新启动这个activity。代码如下所示:MainActivity.javapublic class MainActivity extends AppCom原创 2016-08-13 14:51:10 · 373 阅读 · 0 评论 -
android轮播图
在许多应用中都会看到轮播图这个组件,想网易新闻、优酷等一些应用。那么究竟是怎么做的呢?其实很简单,通过ViewPager这个视图组件再加上PagerAdapter适配器就能做出。我们来看一下代码://dot_white.xml android:shape="oval"> //dot_black.xml android:shape="原创 2016-08-13 14:52:03 · 398 阅读 · 0 评论 -
android之碎片fragment的使用
fragment使用可以导入两个包,android.support.v4,app.Fragment和android.app.Fragment。3.0以上版本的我们可以使用app的包,3.0以下的可以使用support.v4包。所以我们分两种情况来使用fragment。第一种情况使用app包:public class Fragment1 extends Fragment {原创 2016-08-13 20:16:13 · 315 阅读 · 0 评论 -
android studio常用快捷键
android studio常用快捷键logt 生成log的TAGlogm、logd、loge打印logCtrl+W选中代码,多次按会有不同的效果Ctrl+Shift+Up/Down代码向上或向下移动Ctrl+D复制当前行到上一行Ctrl+Y删除当前行alt+up/down在类的方法中移动alt+1快速打开或隐藏工程面板Ctrl+H显示类结构图Ctrl+Shift+n打开一个文件原创 2016-09-19 11:04:32 · 221 阅读 · 0 评论 -
unity与android通信
当我们在做unity开发的时候经常需要一些其他的功能,这时候就需要与android进行通信,那么如何与android进行通信呢?首先你需要在android studio中创建一个module,然后在unity中找到classes.jar这个文件。放到module中的libs文件夹中将其添加到类库中。然后新建一个主类继承UnityPlayerActivity类,在其中写方法供unity调用。然后对mo原创 2016-09-23 15:40:41 · 339 阅读 · 0 评论