安卓 - 技术教程文章

安卓笔记-android五大布局

1.LinearLayout,线性布局 在android项目开发中最经常用到的线性布局,相比相对布局适配度高,不容易因界面改变而变形,LinearLayout可通过设置布局属性orientation来设置子元素水平(horizontal)或垂直排列(vertical) LinearLayout中的子元素属性android:layout_weight生效,它用于描述该子元素在剩余空间中占有的大小比例,如果一个LinearLayout中含有俩个TextView控件。第一个TextView设置了weight属性将会把第二个TextVi...

安卓 折线图控件【代码】【图】

国庆节啊 堕落啊 写了个折线图控件。。。。已封装成aar, 你可以自定义以下属性 使用方法如下 package com.wenxuan.mytestaar;import android.os.Bundle; import android.support.v7.app.AppCompatActivity;import com.wenxuan.linechartview.myview.ChartItem; import com.wenxuan.linechartview.myview.ChartView;import java.util.ArrayList; import java.util.List;public class MainActivity extends AppCompatActivity {priva...

Android应用程序性能优化Tips【代码】

主要介绍一些小细节的优化技巧,虽然这些小技巧不能较大幅度的提升应用性能,但是恰当的运用这些小技巧并发生累积效应的时候,对于整个App的性能提升还是有不小作用的。通常来说,选择合适的算法与数据结构会是你首要考虑的因素,在这篇文章中不会涉及这方面的知识点。你应该使用这篇文章中的小技巧作为平时写代码的习惯,这样能够提升代码的效率。通常来说,高效的代码需要满足下面两个原则:不要做冗余的工作尽量避免执行过多的内...

Android L Camera2 API 使用实例程序汇总

在网上发现几个使用Camera API2开发的实例程序,总结一下方便后续参考:1.Camera2 Basic : https://github.com/googlesamples/android-Camera2BasicThis sample demonstrates how to use basic functionalities of Camera2 API. You can learn how toiterate through characteristics of all the cameras attached to the device, display a camera preview, and take pictures.2.Camera2 Video: https://github.com/googlesamples...

Android开发框架汇总

自开发Android已有两年多,接触到很多优秀的框架。觉得很有必要汇总一下,以便日后查阅。帖子以后还会更新,总有新奇发生嘛。1,最初接触到的Android开发框架是afinal,这里贴一个给github上的地址。 个人觉得使用afinal下载图片比较爽,至于ORM与IOC方面有更好的框架可以考虑。2,说到Android SQLite当属ORMLite框架了,ORMLite官网,小巧而方便,还有各种数据操作方法。最给力的是直接在xml里面配置类名,略去了繁琐的创建表语句...

Android 7.0及以上使用OpenCL【代码】【图】

由于从Android 7.0, API 24, 开始, 系统将阻止应用链接至非公开NDK库, 所以, 使用libOpenCL.so时与面向低版本的Android平台有所不同, 需要把依赖的非公开NDK库打包到APK中确定依赖的库首先应该确定你所使用的libOpenC.so所依赖的库, 使用命令objdump -x libOpenCL.so | grep NEEDED, 这是在我的手机上面测试的情况, 那么我们需要做的是从手机上面, 把这些库全部pull出来, 然后打包到APK中. (在本例中, libc.so和libm.so是公开NDK库...

四 Android Capabilities讲解【代码】【图】

1.Capabilities介绍可以看下之前代码里面设置的capabilitiesDesiredCapabilities capabilities = new DesiredCapabilities();capabilities.setCapability("automationName", "Appium");capabilities.setCapability("platformName","Android");capabilities.setCapability("deviceName","Android Emulator");capabilities.setCapability("platformVersion", "4.4.2");capabilities.setCapability("app", app.getAbsolutePath());cap...

[Android_提交前工作]android项目apk签名【图】

生成apk最懒惰的方法是:只要你运行过android项目,到工作目录的bin文件夹下就能找到与项目同名的apk文件,这种apk默认是已经使用debug用户签名的。如果想要自己给apk签名:1.签名的意义  为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序,我们需要对我们发布的APK文件进行唯一签名,保证我们每次发布的版本的一致性(如自动更新不会因为版本不一致而无法安装)。2.签名...

android基于口令加密快速搞懂(一)

import java.util.Random;import javax.crypto.Cipher;import javax.crypto.SecretKey;import javax.crypto.SecretKeyFactory;import javax.crypto.spec.PBEKeySpec;import javax.crypto.spec.PBEParameterSpec;public class Token { /* * 基于口令加密创建步骤 * 1、读取口令 * 将需加密字符串转化为字符数组 * 将口令保存至PBEKeySpec对象中 * 2、由口令生成秘钥 * 通过SecretKeyfactory工厂类的getInstance静态方法获取Se...

Android 解压问题(getNextEntry()抛UTFDataFormat Exception:bad byte at 0)(

java.io.UTFDataFormatException: bad byte at 12 Android zip解压网上的资料很多,但是我用时出现一个bug是getNextEntry()抛异常java.io.UTFDataFormatException:bad byte at 4。我找了好久最后发现,其实就是文件名不能是汉字。因为我的zip包里有带汉字的文件。这样Android就不够解压出现异常。Android解压的zip包不处理,里的东西不能是以汉字命名的。原文:http://www.cnblogs.com/wikiki/p/5050351.html

[Android学习笔记]Android调试【图】

Eclipse Debug 快捷键:[Ctrl + Shift + B]: 添加/取消断点[F5]:进入方法中[F6]:单步执行[F7]:执行完毕此方法[F8]:继续执行,直接跳到下一个断点 java.util.log 函数原型Log.v(String tag,String msg); Log.v: 字体为黑色. verboseLog.i: 字体为绿色. infoLog.d: 字体为蓝色.debugLog.w: 字体为橙色.warningLog.e: 字体为红色.error System.out.println的输出颜色为绿色,所以println输出的内容被认为是info 由于LogCat输出的信息...

android:singleLine="true",[...]没有全部显示,只显示一个点[.]【图】

现象描述:android:singleLine="true"时,text超出部分显示[.],没有显示省略号[...]。如果想要一行显示文本,超出部分用省略号代替。一般会使用android:singleLine="true"。这种解决办法大部分情况是对的,但是某些情况下会出问题。比如,以下情况:Button设置android:singleLine="true",text是英文的情况下,text超出部分显示[.],不显示省略号[...]。上述情况会在android 4.0以上的系统中出现,android4.0以下没有这种问题。如...

【从源代码看Android】05 PendingIntent

一、引入PendingIntent是一个非常不起眼的类,你可能在以下情况下遇到过它1、AlarmManagerint requestID = 1;AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);Intent i = new Intent(this,AshqalReceiver.class);PendingIntent pi = PendingIntent.getBroadcast(this,requestID,i,PendingIntent.FLAG_UPDATE_CURRENT);am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 1000, 1000, pi);2...

Android Studio中自定义快捷输入块【图】

快捷键:Ctrl + Alt + s,进入Settings>Editor>Live Templates>output中添加一个项,选择第一个Live Template点击Define,勾选Everywhere后确定才能在自己想要的地方快速调用出来:如下,在xml中一样可以调出来:回车后:版权声明:本文为博主原创文章,未经博主允许不得转载。原文:http://blog.csdn.net/fevershen/article/details/46893755

android:layout_weight属性详解 (转)【代码】【图】

在android开发中LinearLayout很常用,LinearLayout的内控件的android:layout_weight在某些场景显得非常重要,比如我们需要按比例显示。android并没用提供table这样的控件,虽然有TableLayout,但是它并非是我们想象中的像html里面的table那么好用,我们常用ListView实现table的效果,但是列对齐确比较麻烦,现在用LinearLayout及属性android:layout_weight能很好地解决。下面我们共同体验下layout_weight这个属性。  一、LinearL...

新建的Android里没有R文件和设置自动导入包【图】

今天又遇到一些小问题,记录一下,以后方便回忆吧。之前还好好的工程,一溜烟的功夫出来个报错“can not reslove symbol ‘R‘”,而且在app/build/generated/source目录下并没有r文件夹,其实,不用理报错,只有运行一下,自动就会生R文件还有补充的另一个问题,刚开始导入包导不进去,谁知道,可直接设置自动导入包,就在这~~,在File了的stetings里 原文:http://www.cnblogs.com/cty97/p/5839549.html

android 批量加载数据【代码】【图】

publicclass MainActivity extends Activity {private ListView listView;private List<String> data = new ArrayList<String>();ArrayAdapter<String> adapter;View footer;@Overridepublicvoid onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);///通过xml布局文件生成View对象footer = getLayoutInflater().inflate(R.layout.footer, null);listView = (ListView) this...

自定义安卓函数曲线图控件【代码】【图】

效果图:实现源码:/** * FunctionCurveView.java * @author Lanfog * @datetime a01b-6-ab下午b:38:01 */ package me.lanfog.myandroid.widget;import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.util.AttributeSet; import android.view.View;/** * 函数曲线图 */ public class CurveView extends View {private Paint mPa...

Android 实现能够暂停的录音功能【图】

转载请注明出处:http://blog.csdn.net/yegongheng/article/details/40624267 好久没更新博客了,着实有点惭愧,以后不管工作是忙是闲都得坚持更新博客,持之以恒地做下去! 正式进入主题,今天我分享一个在工作中过程中遇到的一个技术难点以及我解决该难点的方案,该问题困扰了我许久,通过不断地研究和翻阅资料,终于在满足工作需求的情况下将该问题解决,希望我的经验能够对读者有所帮助。我们知道Android ApI提供了...

android handler HandlerThread 用法

一、Handler Handler在android里负责发送和处理消息。它的主要用途有: 1)按计划发送消息或执行某个Runnanble(使用POST方法);2)从其他线程中发送来的消息放入消息队列中,避免线程冲突(常见于更新UI线程)默认情况下,Handler接受的是当前线程下的消息循环实例(使用Handler(Looper looper)、Handler(Looper looper, Handler.Callback callback) 可以指定线程),同时一个消息队列可以被当前线程中的多个对象进行分发、处理(...

安卓中的消息提示

一、使用Toast显示提示信息框Toast是一种非常方便的提示消息框,它会在程序界面上显示一个简单的提示信息,这个提示信息框用于向用户生成简单的提示信息。它具有两特点:1、Toast提示信息不会获得焦点2、Toast提示信息过一段时间会自动消失使用Toast生成提示信息的步骤1、调用Toast的构造器或makeText方法创建一个Toast对象。2、调用Toast的方法来设置该消息提示的对齐方式、页边距、显示的内容等。3、调用Toast的show()方法将它显...

安卓笔记のonClick实现的四种写法【代码】【图】

1按钮点击事件的设置方式2 1:创建匿名内部类3 bt.setOnClickListener(new OnClickListener() {4@Override5publicvoid onClick(View v) {6 7}8 2;创建内部类9 button.setOnClickListener(new MyListener()); 10 } 11class MyListener implements OnClickListener{ 121314 } 15 3.thi实现点击侦听OnClickListener 16 用当前类public class MainActivity extends Activity implements(实现) OnClickListener{ 17 Button...

Android 自定义ActionBar【代码】

Android 3.0及以上已经有了ActionBar的API,可以通过引入support package在3.0以下的平台引用这些API,但这儿呢,完全自定义一个ActionBar,不用引入额外jar包,参照的是开源的UI组件 GreeenDroid,项目主页:https://github.com/cyrilmottier/GreenDroid 。提取出关于ActionBar的相关文件,你可以放在自己的项目中,最后会附下载地址。下面说下在程序中的用法。新建一个TestActionBar项目,假设你把相关的代码放在了com.leaf.acti...

【Android开发】之Fragment与Acitvity通信

上一篇我们讲到与Fragment有关的经常使用函数,既然Fragment被称为是“小Activity”。如今我们来讲一下Fragment怎样与Acitivity通信。假设上一篇还有不懂得。能够再看一下。传送门。 Fragment与Activity通信的方式例如以下:一、通过初始化函数提供1.在动态加入Fragment的过程中,我们在Activity中通过Fragment.setArguments()的方法为Fragment提供数据。 2.在Fragment中,在onAttach()函数中通过调用getArguments()获得一个Bundle...

Android studio之更改快捷键及自动导包【图】

刚刚转入Android Studio,对AS中的一些操作还不太熟悉,所以记录一下。。。更改AS中的代码提示快捷键,AS做的也挺智能的,在Keymap中可以选择使用eclipse的快捷键设置,但是虽然设置了,对有些快捷键还是不能使用,那么就需要我们手动去修改了。在代码提示AS默认的快捷键是Ctrl+Alt+Space,反正我是用不惯,还是改为eclipse中的Alt+/吧,修改时必须先copy一份快捷键设置副本才能修改:在修改时候,我们会发现AS提示有快捷键冲突,意...

Linux C++工程师2小时了解Android记录

(一)Android?Andoid是一个在linux上的,多用于移动终端的操作系统,不是类似redhat的服务器OS,也不是类似Windows的标准桌面OS,只是一种手持设备的较为简单的图形OS,Android应用程序使用Java开发。Android从linux kernel开出的分支,比如我的华为手机android是4.3,使用的linux kernel是3.4。android代码已经被linux kernel社区剔除。android由于继承了linux kernel代码,根据linux GPL规定即对开源代码的任何修改,都必须开源...

[BUG集] android 安卓项目中ORMLITE框架 Must specify one of id, generatedId, and generatedIdSequence with Id

使用ORM框架ORMLITE有一段时间,今天在操作一个对象的时候,重新运行报错如下:Must specify one of id, generatedId, and generatedIdSequence with Id翻译:意思大概也就是必须要有其中一个 id / generatedId / generatedIdSequence 再上下我的对象的源码: @DatabaseField(columnName = PaymentTempUploadTable.COLUMN_ID, id = true, canBeNull = false,generatedId=true) private int Id; //这里是要求自增长 而且是key主键 ...

js和android交互【代码】

如何提示alert webview.setWebChromeClient(newWebChromeClient(){@Overridepublicboolean onJsAlert(WebView view,String url,String message,finalJsResult resulta){AlertDialog.Builder b2 =newAlertDialog.Builder(MainActivity.this).setTitle("标题").setMessage(message).setPositiveButton("ok",newAlertDialog.OnClickListener(){@Overridepublicvoid onClick(DialogInterface dialog,int which){ ...

浅析,反编译 Android APK流程分享!【图】

作为公司的技术兼产品人员,看到别人开发的优秀Android APK实在羡慕,在Android开发的过程,也很想去学习别人那些漂亮的动画和布局,或是产品逻辑等是怎么做的,所以最近学习了对APK的反编译,只做学习借鉴,提升产品竞争力,不为任何不法企图之用。 首先下载反编译软件apktool 、dex2jar、 jd-gui对APK进行反编译 工具介绍: apktool :资源文件获取,可以提取出图片文件和布局文件进行使用查看,其原理详情:(ht...

Android studio 开发app页面去除顶部原有项目标题框框

首先要清楚他顶部的蓝色框是两部分,一个是状态栏,就是显示电量WiFi那一栏,下面的是标题栏,一般创建一个project的名字会显示在上面。1. 首先app/res/values/sthles.xml中<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">改成这样,看到区别了吧,后面的变成了NoActionBar这样就没有标题栏了。 2. 状态栏更改,这个也很简单,app/res/values/colors.xml中有个基础色系,把后面的颜色换掉就行了,在代码行左边...