Android提供了GestureDetector类来处理一些常用的手势操作,比如说 onLongPress,onFling 等.但这里不使用GestureDetector,而是直接在自定义View重写的onTouchEvent中进行处理. 欲实现的效果是:当手机按住屏幕时,如果在指定的时间内没有移动(如500毫秒),那么进入长按模式,此时手指在屏幕上移动都算作长按模式.如果手机按住屏幕就立马移动,那么就算作移动模式. MotionEvent 类提供了记录当前坐标的函数(getX(),getY(…
0.  前言 在Android开发中经常会发生Activity的销毁重建,比如用户长时间接听一个电话后回到APP.在Android开发--Fragment知识整理(二)中我们提到了使用Fragment大量保存Activity销毁重建数据的方法,但是有一个问题是,在异步任务时旋转屏幕,如何处理异步任务呢?如果单纯的在Activity销毁之前关闭上一个异步任务,onPostExecute()中的关闭对话框就不会走了,会出现对话框无法关闭的现象:如果不关闭,可能会更新已经不存在的控件,造成错误,不仅如…
android开发中最常用的控件之一就是listview,伴随listview还要有adapter和放入适配器的item.然后假设其中有一部分item的生成符合一定规律,Item item = new Item(jsonObject);那么就该考虑下用反射来生成这些元素了. 首先是item的代码 public class TestItem { public int id; public String image; public TestItem(JSONObject json) { try {…
通常开发Android的时候要使用到数据库操作,会遇到下面小问题: 数据库文件在哪?怎样訪问或操作? 能够通过:打开DDMS->File Explorer看到的sqlite数据库在eclipse,然后在文件夹/data/data/package_name/databases下找到. 可是我们仅仅能看到.db文件,根本看不到里面的表格数据,更别说操作数据啦. 当然,我们能够把.db文件导出来,用数据库操作工具(如SQLite Expert)来操作数据,这是不是非常麻烦呀,今天我们就能够用一个简单的…
转自:http://blog.csdn.net/arcgis_mobile/article/details/8263283 ArcGIS Runtime sdk for Android为我们提供了丰富的事件监听器,本节将主要介绍我们经常使用的监听器,并且介绍通过这些监听器可以实现哪些功能,在下面的监听器中只有MapOnTouchListener是类,其他皆为接口类型,如图所示: 1.1 MapOnTouchListener MapOnTouchListener是MapView最为重要的监听器之一…
当我们学完java中多线程的下载后,可以将它移植到我们的安卓中来,下面是具体实现源码: DownActivity.java package com.example.downloads; import java.io.File; import java.io.IOException; import java.io.RandomAccessFile; import java.net.HttpURLConnection; import java.net.MalformedURLException; i…
android.permission.ACCESS_CHECKIN_PROPERTIES 允许读写访问 "properties"表在checkin数据库中,改值可以修改上传( Allows read/write access to the "properties" table inthe checkin database, to change values that get uploaded) android.permission.ACCESS_COARSE_LOC…
前言 在Android里获取视频的信息主要依靠MediaMetadataRetriever实现 获取最佳视频预览图 所谓的最佳就是MediaMetadataRetriever自己计算的 /** * 获取视频缩略图 * @param vedioFile * @return */ public static Bitmap getVedioThumbnail(File vedioFile){ if (!vedioFile.exists()){ L.e("视频文件不存在"); return n…
最近在使用AIDL做IPC的时候,在处理复杂的数据类型的时候,编译器总是报couldn't find import for class错误,所以在这里总结下AIDL使用的时候的一些注意事项,希望对你能有所帮助. Android 中进程间通信使用了 AIDL 语言,但是支持的数据类型有限: 1.Java的简单类型(int.char.boolean等).不需要导入(import). 2.String和CharSequence.不需要导入(import). 3.List和Map.但要注意,List和M…
在AlertDialog中使用自定义的View,如果View中有EditText,在上面点击,默认是跳不出软键盘的,不是焦点的问题.解决方法,有两种,一是把AlertDialog换成Dialog,但这么一来,对话框的最外层会多出一个框,顶部还会空几十个DP,当然可以用setBackgroundDrawable(new ColorDrawable(0))把背景设为透明,隐藏掉边框,但是上面空着的几十个DP还在,对话框就不是在屏幕居中了.代码: Dialog ad = new Dialog(cont…
需求场景: 在开发中遇到下面这样场景: 1.创建 Fragment A 显示.  这时栈的结构是: .Fragment A 2.创建 Fragment B 并 显示.  从下到上看,这时栈的结构是: 2.Fragment B 1.Fragment A 3.创建 Fragment C 并 显示.  从下到上看,这时栈的结构是: 3.Fragment C 2.Fragment B 1.Fragment A 那么,如何从 Fragment C 一次性跳到 Fragment A 呢? 实现: 入栈时,使…
1.由于市场上大多数教程是基于Eclipse,而AndroidStudio显然是大势所趋,所有我在电脑上同时搭建了两个IDE,直接在官网下载AndroidStudio比较好,因为SDK,AVD都集成了,不用单独配置,当然了,这得FQ. 2.安装了AndroidStudio,配置Eclipse就十分方便了,Eclipse就是一个IDE,并没有集成SDK,AVD,这时候就可以直接利用安装AndroidStudio时的SDK,AVD了,这样节省了不少时间和系统存储空间. 3.更新SDK和配置AVD,不…
/** * 将bitmap中的某种颜色值替换成新的颜色 * @param bitmap * @param oldColor * @param newColor * @return */ public static Bitmap replaceBitmapColor(Bitmap oldBitmap,int oldColor,int newColor) { //相关说明可参考 http://xys289187120.blog.51cto.com/3361352/657590/ Bitmap mBi…
一.发现问题 先看两种方法插入数据 public void save(Person p){ SQLiteDatabase db = dbHelper.getWritableDatabase(); db.execSQL("insert into person(name,phone) values (?,?)", new Object[] { p.getName(), p.getPhone() }); db.close();} public void save(Person p){ SQL…
一.言简意赅 fill_parent 是让控件宽或者高占全屏 wrap_content是让控件的高或宽仅仅把控件里的内容包裹住而不是全屏 二.分别来看  1 fill_parent 设置一个构件的布局为fill_parent将强制性地使构件扩展,以填充布局单元内尽可能多的空间.这跟Windows控件的dockstyle属性大体一致.设置一个顶部布局或控件为fill_parent将强制性让它布满整个屏幕. 2  wrap_content 设置一个视图的尺寸为wrap_content将强制性地使视图…
1.EditText有焦点(focusable为true)阻止输入法弹出 editText=(EditText)findViewById(R.id.txtBody); editText.setOnTouchListener(new OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { editText.setInputType(InputType.TYPE_NULL); // 关闭软键盘 return fa…
概念 触摸屏 (TouchScreen) 和 滚动球(TrackBall)是Android 中除了键盘之外的主要输入设备. 而这两个事件都可以用运动事件(MotionEvent)用于接收他们的信息 直接看代码吧 package com.example.motion; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.MotionEvent; import a…
1.activity_main.xml 描述: 定义了一个TextView和三个按钮 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/activity_main" android:layout_widt…
在利用高德地图来编写自己的APP的时候,发现了一种对定位按键的重写方法,那就是利用   com.amap.api.maps2d.LocationSource  接口来重写. 什么是定位按键呢,下图中右上角那个就是. import com.amap.api.maps2d.AMap; private AMap aMap;//地图控制器对象 //aMap 为地图控制器对象aMap.getUiSettings().setMyLocationButtonEnabled(true);//地图的定位标志是否可…
以ViewPager为例: public class TopNewsViewPager extends ViewPager { public TopNewsViewPager(Context context) { super(context); } public TopNewsViewPager(Context context, AttributeSet attrs) { super(context, attrs); } //重写这个方法,并且在方法里面请求所有的父控件都不要拦截他的事件 @Ov…
昨天遇到一个头疼的问题,在手机上按钮事件都很正常,但是在平板上(横屏显示的状态),button点击事件不响应,代码简化如下: public class Test extends Activity implements OnClickListener{ private Button testButton = null; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated meth…
答案没有: 图片是从后端传过来, 加到imgTarget属性,实现长按点击删除该图片 let img = document.createElement('img'); img.src = "/"+res.data.errmsg.img; img.setAttribute('click',''); img.setAttribute('ontouchstart','window.timeOutEvent=setTimeout(()=>{let con=confirm("确定…
1:前言: 我们在Android开发的过程中,很多实现是要向远程服务器拿数据的,但是未必当前设备一定连接了网络啊,那么此时我们就是要进行判断的了, 如果是有网络的话,那么此时就去向远程服务器去拿数据,如果是没有网络的话,给用户一个小小的温馨提示,同时为了用户的体验感友好,没有网络的 时候可以向本地的SQLite的数据库区拿数据.(等到有网的时候,SQLite数据库的数据需要马上的更新). 现在我们开始进行演示如何判断当前设备是否连接网络. 2:New 一个安卓Android项目 默认的Activ…
版权声明:本文为寻梦-finddreams原创文章,请关注:http://blog.csdn.net/finddreams 关注finddreams博客: http://blog.csdn.net/finddreams/article/details/44513579 一般的面试流程是笔试完就接着是面试了,面试时技术经理会问你一些你工作中遇到的Android方面的问题,谈谈你所做的项目,和在项目中所扮演的角色.今天我就给大家整理一些,面试中常见的面试官提的一些问题? 1.要做一个尽可能流畅的Li…
转自: http://www.cnblogs.com/rwxwsblog/p/4769785.html 在移动互联网的时代,Android的份额早已超过了苹果.Android的出现无疑加速了移动互联网的普及,手机操作系统已经是IOS和Android的天下了,什么winphone之类的可以说没它们什么事了.记得三年前做过一个简单的基于Android2.2的一个小应用.当时只是为了好玩,因而也没有相应的文档记录:后来由于工作原因也就没有继续讲Android开发进行下去.趁有时间再来折腾折腾Andro…
简述 在Android开发的过程中,难免会使用单例模式或者静态方法工具类.我们会让它们持有一些外部的Context或者View一般有以下几种情况: 单例模式,类的全局变量持有Context 或 View (注意!持有View和持有Context其实是一样的) ----->此方式会内存泄露 单例模式,方法引入Context ----->此方式不会内存泄露 工具类静态方法持有Context 或 View 工具类静态变量持有Context 或 View 上面我已经说明了会内存泄露的情况,我们就来逐一…
. 果断换Ubuntu了, Ubuntu的截图效果不好, 不能设置阴影 ... 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/20855541. . Android Studio 相关博客 : -- Ubuntu 下 Android Studio 开发工具使用详解 : http://blog.csdn.net/shulianghan/article/details/20855541 ; -- Ubuntu…
转自:http://blog.csdn.net/shulianghan/article/details/20855541 1. 安装 Android Studio (1) 下载Android Studio开发环境 下载地址 : http://developer.android.com/sdk/installing/studio.html , Windows 和 Linux 不分 32 位 和 64 位; -- Windows版 : https://dl.google.com/android/st…
任何一种移动开发生态系统其技术人员都是呈现金字塔式分布的.我借此也说说Developer和Programmer的区别: Programmer是真正意义上的程序员,写程序的.灵魂级 Developer是码农,搬砖的,砌代码,体力活.肉体级 做Developer的感觉就仿佛行尸走肉,被工作绑架,被代码绑架,而不是驾驭代码.如果每天,你感觉自己仿佛就是一坨肉,每天把自己运到公司, 灵魂出窍式,条件反射式地CODING,然后下班又运回家,回到家你才真正解脱,真正找到自我.富士康的小弟小妹们也有同样感觉.…
引子: 由于最近公司产品转战移动端,而且就要在年底前上线第一个版本,作为主工不得不立即投入到Android开发的学习中,昨天一天在家找了一些资料,看了一些视频,也试着弄了一个简单的应用. 问题: 本来开始随便弄了一张图片作为应用图标,今天弄到公司的logo,准备换个,图标放进去了,AndroidManifest.xml里application 里的icon也改了,但在模拟器里运行的时候图标一直是之前的图标,而且打开的时候应用左上角闪现一下新图标,然后马上就回到之前的图标,而且应用卸载的时候显示的…