android应用编程
文章平均质量分 60
joshua_love
这个作者很懒,什么都没留下…
展开
-
android应用开发调试手段
1.Java Eclipse进行断点调试如何调试Java程序?大家最开始学习Java,都会觉得IDE调试好高端有木有,其实很简单了。下文会尽量简单直观的教会你在Eclipse中调试,其他的IDE调试步骤也是类似的。1.在你觉得有错的地方设置断点。在代码行数前,点击右键,注意是右键,然后选择Toggle Breakpoint。你可能会问,我如何知道在哪儿放置断点?如果对这个问题完全没有感觉,你完全可以原创 2017-04-24 11:10:47 · 549 阅读 · 0 评论 -
android-opengl入门
android 支持使用Open Graphics Library高性能的2D和3D制图算法,特别地,OpenGL ES API。OpenGL 是一个跨平台制图算法API,指定一个标准的软件接口为3D制图算法在处理的计算机硬件。OpenGL ES是一个OpenGL功能的加工为嵌入式的硬件设备。 Android 支持OpenGl在frameworkAPI和Native Development Kit原创 2017-02-04 16:10:13 · 626 阅读 · 0 评论 -
android-------textview文字的设置
TextView设置部分文字大小、加粗、倾斜、颜色、背景、分行显示。textView如果想要强制换行的话,必须先把TextView显示方式修改为多行(android:singleLine="false"),然后才能换行。方法一般用两种: 1、在字符串里加入“\n”,如"abc\nrc"; 2、把TextView设置为固定宽度,然后让系统自动换行。如android:layou原创 2016-11-29 09:59:41 · 2785 阅读 · 0 评论 -
android-adb 命令总结
adb 命令总结:1. 安装apk; adb install 拖入apk2. 启动、关闭adb服务; adb start-server adb kill-server3. 查看设备: adb devices4. 首先需要 root 手机。 然后,“Win + R”,打开cmd窗口。下面以copy d:\1.txt到原创 2016-11-22 19:28:09 · 331 阅读 · 0 评论 -
android 延时操作的方式
1 线程 new Thread(new Runnable(){ public void run(){ Thread.sleep(XXXX); handler.sendMessage();----告诉主线程执行任务 } }).start 2定时器 TimerTask task = new原创 2016-11-21 19:16:03 · 410 阅读 · 0 评论 -
线程的复杂使用
package com.example.joshua.wangyiyun;import android.os.Handler;import android.os.HandlerThread;import android.os.Looper;import android.os.Message;import android.support.v7.app.AppCompatActivity;原创 2016-07-12 11:48:48 · 229 阅读 · 0 评论 -
android studio 2.2.2配置NDK开发环境
首先需要下载Android Studio 2.2.2到电脑上安装。安装完成之后,开始配置。第一步,创建一个项目,类似eclipse应用名 公司域名,包名。勾选上(不做NDK可不勾选) 项目的路径。原创 2016-11-16 19:12:09 · 1332 阅读 · 3 评论 -
解决AndroidStudio导入项目在 Building gradle project info 一直卡住
修改gradle-wrapper.properties方式1、随便找一个你之前能够运行的AS项目2、打开项目的/gradle/wrapper/gradle-wrapper.properties文件3、复制最后一行distributionUrl这一整行的内容,例如:distributionUrl=https\://services.gradle.org/distributions/g原创 2016-10-08 13:51:01 · 372 阅读 · 0 评论 -
android手机 录音权限是否打开的检测
6.0之前的权限检测只是检测到是否在清单文件中注册boolean flag = (PackageManager.PERMISSION_GRANTED == pm.checkPermission("android.permission.RECORD_AUDIO", "包名")); boolean flag = PermissionChecker.checkSelfPermission(t原创 2016-10-08 13:46:25 · 8744 阅读 · 0 评论 -
android开发--WIFI应用开发
手机系统打开WIFI可以搜索到附近的WIFI信息,第三方应用在代码中同样也可以实现,来查询WIFI信息。并且根据WIFI信号的强弱进行排序。 1 适配器package com.quvii.bell.adapter;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;原创 2016-11-09 17:34:11 · 542 阅读 · 0 评论 -
android 实现home键功能的几种方式,退到后台但不退出程序
1 通过调用moveTaskToBack() true/false的方式 2 通过intent的方式/*** 退到桌面 并且结束当前应用* @param context*/public static void backHomeFinishSelf(Context context) {Intent intent = new Intent(Intent.ACTION_MAI原创 2016-10-17 14:42:54 · 6224 阅读 · 0 评论 -
音频编解码speex库的使用方法
Speex是近年来开发出的一套功能强大的语音引擎,能够实现高质量和低比特率的编码。它不仅提供了基于码激励线性预测(CELP)算法的编/解码模块, 而且在其最新发布的版本中还提供了声音预处理和声学回声消除模块,为保障IP网络中的语音通信质量提供了技术手段。此外,Speex还具有压缩后的比特率 低(2~44 kbps)的特点,并支持多种比特率。这些特点使得Speex特别适合VoIP的系统。 虽然是开源转载 2017-02-13 19:43:55 · 2320 阅读 · 0 评论 -
Android中使用Handler造成内存泄露的分析总结
内存管理的目的就是让我们在开发中怎么有效的避免我们的应用出现内存泄漏的问题。内存泄漏大家都不陌生了,简单粗俗的讲,就是该被释放的对象没有释放,一直被某个或某些实例所持有却不再被使用导致 GC 不能回收。 什么是Java中的内存泄露在Java中,内存泄漏就是存在一些被分配的对象,这些对象有下面两个特点,首先,这些对象是可达的,即在有向图中,存在通路可以与其相连;其次,这些对象是无用的,即程序以后不会原创 2017-04-10 19:01:28 · 293 阅读 · 0 评论 -
Android视图SurfaceView的实现原理分析
在Android系统中,有一种特殊的视图,称为SurfaceView,它拥有独立的绘图表面,即它不与其宿主窗口共享同一个绘图表面。由于拥有独立的绘图表面,因此SurfaceView的UI就可以在一个独立的线程中进行行绘制。又由于不占用主线程资源,SurfaceView一方面可以实现复杂而高效的UI,另一方面又不会导致用户输入得不到及时响应。在本文中,我们就详细分析SurfaceView的实现原理。转载 2017-04-11 15:31:54 · 575 阅读 · 0 评论 -
Android的设计与实现--Activity Manager
Activity Manager的功能:启动或者杀死应用程序。启动并且调度Ativity生命周期。启动并且调度应用程序Service生命周期。注册Broadcast Receiver,接收发送broadcast。启动并且发布Content Provider。调度task。检查,授予,收回访问URI的权限。 处理应用程序crash。调整进程调度优先级几策略(调整OOM adj)。查原创 2017-04-24 11:09:03 · 363 阅读 · 0 评论 -
AlertDialog显示错误 Unable to add window token null is not for an application
在listView的onItemClick函数中显示一个AlertDialog,出现如下错误 08-07 21:26:43.506: ERROR/AndroidRuntime(9390): android.view.WindowManager$BadTokenException: Unable to add window – token null is not for an application原创 2017-05-12 11:13:30 · 506 阅读 · 0 评论 -
TCP和UDP的区别(转)
TCP协议与UDP协议的区别 首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信! TCP/IP协议是一个协议簇。里面包括很多协议的。UDP只是其中的一个。之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了。 TCP/IP协议集包括应用层,传转载 2017-05-03 15:05:31 · 308 阅读 · 0 评论 -
android开发-后台邮件统计异常的需求
04-17 15:11:00.172 W/System.err(23374): at javax.mail.Transport.send0(Transport.java:188)04-17 15:11:00.172 W/System.err(23374): at javax.mail.Transport.send(Transport.java:118)04-17 15:11:00.1原创 2017-04-17 15:38:15 · 740 阅读 · 0 评论 -
android-java对象序列化Object serialization
将对象编码成字节流,并从字节流编码中重新构建对象,将一个对象编码成一个字节流,称作该对象序列化(serializing),相反处理过程称作反序列化(deserializing)。一旦对象被序列化后,它的编码就可以从一台正在运行的虚拟机被传递到另一台虚拟机上,或者被存储到磁盘上,供以后反序列化使用; 实现serializable接口付出的最大的代价:一旦一个类被发布,就大大降低“改变这个类的实现”的原创 2017-04-19 14:36:49 · 515 阅读 · 0 评论 -
HashMap与ConcurrentHashMap的区别
concurrent包,从此Map也有安全的了。 HashMap不是线程安全的,因此多线程操作时需要格外小心。原创 2017-04-18 16:14:21 · 306 阅读 · 0 评论 -
android设计模式-Builder模式
builder模式可用来自由扩展项目。 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 builder模式的使用场景 1 相同的方法 ,不同的执行顺序,产生不同的事件结果时。 2 多个部件或零件,都可以装配道一个对象中,但是产生的运行结果又不同时。 3 产品类非常复杂,或者产品类中的调用顺序不同产生不同的作用,这个时候用建造者模式 4 当初始化一个对象特别复杂原创 2017-04-18 15:38:36 · 285 阅读 · 0 评论 -
【Android开发经验】APP的缓存文件到底应该存在哪?看完这篇文章你应该就自己清楚了
只要是需要进行联网获取数据的APP,那么不管是版本更新,还是图片缓存,都会在本地产生缓存文件。那么,这些缓存文件到底放在什地方合适呢?系统有没有给我们提供建议的缓存位置呢?不同的缓存位置有什么不同呢?今天这篇文章就是主要来说明这个问题的。 首先,我们要知道,在Android手机里面,缓存的位置分为两类,一类是Internal Storage,即内部存储,另外一类是External Stor转载 2017-04-18 11:34:31 · 880 阅读 · 0 评论 -
android-封装一个加载处理的handler类
public class LoadHandler extends Handler { private LoadListener listener; public LoadHandler(Looper looper) { super(looper); } public LoadHandler(LoadListener listener) {原创 2017-04-18 10:19:41 · 1748 阅读 · 0 评论 -
AndroidStudio:图片有jpg改为png之后报错
今天利用AdroidStudio开发项目发现了这个程序报了这个异常:ProcessException: Android\Sdk\build-tools\21.1.2\aapt.exe finished with non-zero exit value 42,原因是我在mipmap文件中添加了一张图片后出错的。 把jpg格式的文件直接重命名改成png格式的文件就报错了,然后我用ps编辑图片并且另存为原创 2017-04-13 10:29:29 · 1411 阅读 · 0 评论 -
广播在服务中接收能耗时操作吗
在服务中的广播接收器可以执行耗时操作原创 2016-03-18 19:34:42 · 904 阅读 · 0 评论 -
缓存原理
列表的显示需要三个元素:ListVeiw: 用来展示列表的View。适配器 : 用来把数据映射到ListView上数据: 具体的将被映射的字符串,图片,或者基本组件。 根据列表的适配器类型,列表分为三种,ArrayAdapter,SimpleAdapter和SimpleCursorAdapter,这三种适配器的使用大原创 2016-03-23 13:42:36 · 373 阅读 · 0 评论 -
如何在activity和fragment获取控件的大小
在 Activity的onCreate() 中调用某个按钮的 myButton.getHeight(),得到的结果永远是0onCreate(): Height=0onStart(): Height=0onPostCreate(): Height=0onResume(): Height=0onPostResume(): Height=0onAttachedToWindow()原创 2016-09-27 16:02:43 · 1574 阅读 · 0 评论 -
android 播放视频时切换全屏隐藏状态栏
View类提供了setSystemUiVisibility和getSystemUiVisibility方法,这两个方法实现对状态栏的动态显示或隐藏的操作,以及获取状态栏当前可见性。 setSystemUiVisibility(int visibility)方法可传入的实参为: 1. View.SYSTEM_UI_FLAG_VISIBLE:显示状态栏,Activity不全屏显示(恢原创 2016-09-29 11:33:45 · 3693 阅读 · 0 评论 -
android 退出应用程序
最近学习做android的游戏开发时候,发现一个关于android退出时不能彻底关闭的问题,比如:一个程序里new 出了N多个Thread,这样在退出程序的可能不能完全关闭,最后发现,只用finish()方法,有时候不能彻底退出,个人感觉还是要在适当的地方加上:System.exit(0);-=====-=-=-=-=-=======-----===== 1. finish原创 2016-09-29 19:44:54 · 907 阅读 · 0 评论 -
android 接收到云推送,跳转到对应的activity,且一直都只有一个activity
public void shownotification(String msg) { NotificationManager barmanager=(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE); Notification notice = new Notification(a原创 2016-09-30 09:24:22 · 1154 阅读 · 0 评论 -
android应用开发,类似美团商品详情下拉,顶部图片放大的效果
需要用到自定义控件ListViewpackage com.matrixxun.pulltozoomlistsimple;import android.app.Activity;import android.content.Context;import android.os.SystemClock;import android.util.AttributeSet;import原创 2016-10-25 20:10:34 · 1221 阅读 · 0 评论 -
android开发,如何使用git托管代码,如何在android studio上使用git管理代码
git是很好一个工具使用,可以执行liunx命令,有git环境后windows系统就可以进行shell命令操作,就可以添加其他liunx辅助软件进行执行,git也代码库管理工具,无论是上传,下载代码都可以使用git的环境,起到很好应用效果。如何使用Git一 、下载安装首先下载一个Git的安装包,我的电脑是64位,因此,根据自己的电脑配置下载相应的安装包。Git_V2.5.1_6原创 2016-10-25 15:57:15 · 2141 阅读 · 0 评论 -
android 判断应用是否在后台的工具类
public class ActivityUtils {/** * 当前应用是否处于前台 * @param context * @return true 在前台 false 在后台 */public static boolean isForeground(Context context) { if (context != null) {原创 2016-10-12 10:40:11 · 256 阅读 · 0 评论 -
android 下载速度Kb/s和Kbps的转换
KB/s和Kbps是完全不同的概念。注意大小写的B是不同的。B是Byte的缩写,叫做字节。b是bit的缩写,叫做位。1Byte=8bit。我们经常说网线2M,4M,是这样表示的:2Mb/s(2Mbps),4Mb/s(4Mbps)。而我们经常说的下载速度是128KB/s。256KB/s。等它们之间转换公式:2Mb/s=2*1024/8==256KB/s,Kbps是位/秒,KB/s是字节/秒,原创 2016-10-12 09:18:02 · 2379 阅读 · 0 评论 -
android 开发 在dos下adb logcat命令的详解
adb logcat -v time > 文件名.txt 在dos下将log日志保存在txt文件中。adb logcat --help 就可以显示该命令的帮助信。adb logcat 命令格式 : adb logcat [选项] [过滤项], 其中 选项 和 过滤项 在 中括号 [] 中, 说明这是可选的;(1) 选项解析选项解析 : -- "-s原创 2016-10-11 10:24:40 · 1315 阅读 · 0 评论 -
Android判断当前应用程序处于前台还是后台的实现方法
判断应用是否退到后台。 需要在AndroidMenitfest.xml文件中添加以下权限Android:name="android.permission.GET_TASKS" /> public class ActivityUtils {public static boolean isApplicationBroughtToBackground(final Conte原创 2016-10-10 14:38:23 · 452 阅读 · 0 评论 -
android程序根activity中点返回,实现按下home键的效果
@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {if(keyCode == KeyEvent.KEYCODE_BACK){//back监听 返回moveTaskToBack(false); return true; }return super.onKey原创 2016-09-27 15:09:16 · 246 阅读 · 0 评论 -
android学习开源网站
除了github,推荐大家一些开源项目网站,大家可以抽空学习下,取他人之长:http://www.23code.com/https://www.zhihu.com/question/19804692http://p.codekk.com/原创 2016-09-21 15:13:09 · 237 阅读 · 0 评论 -
android-碎片中弹出popuwindow
private PopupWindow popupWindow;private LayoutInflater mInflater;private ViewGroup mRootView;public void showPopWindow(View v){if (mInflater==null||mRootView==null) {mInflater=(LayoutInflate原创 2016-08-30 20:42:18 · 487 阅读 · 0 评论 -
AS使用技巧
在用Eclipse时候,你可以进行设置,设置成不管你输入任何字母,都能进行代码的提示,在Android Studio中也可以设置,而且比Eclipse设置来的简单。当然如果你觉得代码自动提示会降低你的代码水平,你也可以不设置,在写代码过程中,如果一时忘记了,你就可以用代码提示的快捷键。android studio代码提示的快捷键是什么呢?看这篇文章:【Android Stu转载 2016-05-03 14:53:32 · 589 阅读 · 0 评论