![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
安卓开发
基础知识以及在安卓开发中遇到的一些问题
水田如雅
不生产代码,只是代码的搬运工
展开
-
Android——蓝牙利用RSSI进行距离测算
算法:/** * 功能:根据rssi计算距离 * Created by liuhuichao on 2017/1/17. */public class RssiUtil { //A和n的值,需要根据实际环境进行检测得出 private static final double A_Value=50;/**A - 发射端和接收端相隔1米时的信号强度*/...原创 2017-01-17 18:33:19 · 10244 阅读 · 9 评论 -
ViewPager实现简单Tab切换效果
不做安卓好几天了,最近两天一直在按照设计图布web页面,头都大了。但是感觉自己布页面的水平还是可以滴,布完页面之后瞬间感觉自己萌哒哒的~嘿嘿,不过安卓好几天不做了,手都生了,今天被一个大哥叫过去调ViewPager的一个东西,搞半天没弄出来,╮(╯▽╰)╭,看来Tech support还要继续学习。 好啦,先看一个做简单的ViewPage滑动,之后,我会在后续的博客中不断改进,达到一原创 2015-11-16 00:17:13 · 3523 阅读 · 5 评论 -
Android——android studio 安装完成之后导入项目的乱码问题
今天上午,从github上扒下来一套代码,但是因为目录结构不一样的原因,不得不装一个AS,然后把项目导入AS里面。但是导入后出现了乱码。 下面看下AS的设置,去掉乱码。 对于AS的设置,大部分都在: 打开settings: 首先是去掉目录显示的乱码:原创 2015-10-31 15:03:21 · 2419 阅读 · 9 评论 -
Android——Fragment介绍及两种基本使用方法
今天在调ViewPager的时候,感觉ViewPager+Fragment这种做法更灵活,所以,现在拿出来Fragment再整理下。一,为什么要用Fragment 1,灵活布局 Fragment表现Activity中用UI的一个行为或者一部分。可以组合多个fragment放在一个单独的activity中来创建一个多界面区域的UI,并可原创 2015-11-16 14:56:01 · 3138 阅读 · 10 评论 -
ViewPager+PagerTabStrip实现页面选项卡滑动
经过一个简单的Demo,基本上做出了个可以实现功能的滑动页面,但是这个东西复用性差,而且还有一些小bug,不喜欢,再改! /** 功能:改进滑动页面效果* 作者:刘慧超* 时间:2015年11月16日01:18:07* */public class Main2Activity extends AppCompatActivity { ViewPager pager=n原创 2015-11-16 01:26:16 · 2887 阅读 · 7 评论 -
ViewPager+Fragment实现左右滑动页
思路: 每一个Tab里面的内容都放到一个fragment里面,然后再每个fragment里面处理具体的业务逻辑,在主页面上,像加入view那样加入fragment. 首先来看fragment里面代码: /** * Created by LiuHuiChao on 2015/11/16. */public class View原创 2015-11-16 02:06:50 · 3029 阅读 · 14 评论 -
安卓——ListView的动态添加与删除
一,添加 case R.id.imgBtnAdd:/*添加列表*/ if(SetTempListView.getChildCount()>5){ Toast.makeText(getApplicationContext(), "列表只能添加6条!", Toast.LENGTH_SHORT).show(); break; } lis原创 2015-10-28 16:22:12 · 2914 阅读 · 15 评论 -
技术选型(一)——安卓开发
接下JRKJ项目是从大概8月中旬,当时自己安排的任务主要是.NET这版的Web开发,框架是原来ITOO的框架,主要因为是1.0版,主要时间都在梳理需求。 后来因为人员调动各种原因吧,接下了安卓APP的开发。对于这个有点儿陌生的东西,感觉有很多不确定性。 首先,面临的就是.NET Or Java的问题。 开发的时候,我是选择.NET 平台还是Java平台。 .NE原创 2015-09-24 11:51:46 · 1821 阅读 · 15 评论 -
Android——AS VS Eclipse
以前开发APP的时候,一直比较老土,就是Eclipse+手机调试。其实也一直想换成AS+Genymotion,感受下google力推的IDE,现在离职了,终于有机会重配开发环境了。 其实这个过程也是蛮无语的。 一开始,装了个1.6的AS,装好之后无压力,感觉都配好了,但是仔细一看,新建完hello world项目之后,少文件夹,java 文件夹跟layout文件夹都没原创 2015-10-31 18:42:06 · 2664 阅读 · 22 评论 -
Volley帮我们省去的那些线程操作代码
最近两天刚开始用Volley,发现加上框架之后,代码精简了不少,被精简的代码主要体现在了:1,不用去创建新的线程类:一般我们在开启新线程的时候,都使用的是创建新的线程类,重写run方法,将可能会阻塞UI线程的操作放在新线程里面,当新线程执行完成之后,发送一个Message到UI线程,UI线程接收到消息之后,会对消息进行处理,从而完成我们的更新UI的操作。2,handler类:通常我们会在我们的Ac原创 2015-11-08 13:26:30 · 2256 阅读 · 4 评论 -
Android——使用Volley+fastJson在新线程中读取网络接口获取天气信息
一,关于Volley 其实最初对于网络数据的访问,我是没想到要用框架的,使用HttpURLConnection或者HttpGet or HttpPost都可以实现。但是why? why I have to use Volley? volley来源: Volley 是 Google 推出的 Android 异步网络请求框架和图片加载框架。在原创 2015-10-06 15:58:32 · 3584 阅读 · 9 评论 -
Android——蓝牙连接
今天要做一个蓝牙4.0的通信,先做个小test,之后再看看具体的api: @Override public void onClick(View v) { switch (v.getId()) { case R.id.scan: // bluetoothService.startBluetooth();原创 2016-09-08 13:50:31 · 1192 阅读 · 1 评论 -
BLE(Bluetooth Low Energy)---first part
原文地址:https://developer.android.com/guide/topics/connectivity/bluetooth-le.html#terms (本人是技术宅,翻译时候,只要以简洁易懂为准,看过一部分后,如果感觉我翻译的不够文艺,文法,咋样咋样的,请不要往下看了,你可以gun了~) 安卓4.3(api level>=18)引入了内置的平台支持低功耗设备。通过翻译 2016-09-14 00:07:16 · 1264 阅读 · 4 评论 -
蓝牙技术(BlueTooth)——(一)
一,概述 蓝牙是一种短距离的无线通信技术标准。 蓝牙协议分为4层,即核心协议层,电缆替代协议层,电话控制协议层,和 采纳的其它协议层。 这4中协议中最重要的是核心协议。蓝牙的核心协议包括基带,链路管理,逻辑链路控制和适应协议四部分。其中链路管理(LMP)负责蓝牙组件间连接的建立。逻辑链路控制与适应协议(L2CAP)位于基带协议层上,属于数据链路层,是一个为高层传输和应用原创 2016-09-11 20:07:06 · 1391 阅读 · 3 评论 -
Retrofit——A type-safe HTTP client for Android and Java(The first part)
一,介绍 Retrofit将你的http接口API转换成项目中的一个java的接口。public interface GitHubService { @GET("users/{user}/repos") Call> listRepos(@Path("user") String user);} Retrofit会自动为上面的Service生成一个实现类。Retrofit retrof翻译 2016-08-21 22:11:08 · 1024 阅读 · 0 评论 -
AR技术介绍(Located in Android)
一,什么是AR 在说AR技术之前,先来说说VR。 虚拟现实(VR:Virtual Reality)是采用以计算机技术为核心的技术,生成逼真的视,听,触觉等一体化的虚拟环境,用户借助必要的设备以自然的方式与虚拟世界中的物体进行交互,相互影响,从而产生亲临真实环境的感受和体验。 而增强式VR系统简称增强现实(Augmented Reality),就是我们经常说的在手机上应用的比较多的AR了原创 2016-09-11 22:24:09 · 2228 阅读 · 2 评论 -
Android——搜索传统蓝牙设备
一,主布局: <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="m原创 2016-09-09 14:48:38 · 829 阅读 · 2 评论 -
安卓——安卓开发学习资料整理
到昨天上午为止,第一款参与开发的APP已经基本完成。这是我第一次参与APP的开发,以前做的是web 开发,在开发过程中,还是感觉到了一些不同的。这个项目让我的关注点发生了一些变化。以前作为开发的自己,关注的主要就是架构及代码这些东西。但是在做这个APP的过程中,查了很多资料,也会给一些设计提出意见,这个APP自己加入了很多心思,渐渐的,感觉到自己的关注点其实到了后期,已经转移到了设计上面,我怎么原创 2015-10-29 13:32:47 · 3730 阅读 · 17 评论 -
使用cordova+Ionic+AngularJs进行Hybird App开发的环境搭建手册
一,所需工具 1,JDK:生成 2,安卓SDK开发环境 3,NodeJs:主要使用的还是npm 4,Python开发环境 5,VS 2012(2008,2015也可以,已亲测):安装这个主要是需要一些.net的东西,也没具体查是啥,图个省事。 6,cordova:起到一个移动中间件的作用,负责JS跟原生的一些交互。 7,Ionic 二,说说安装原创 2016-03-23 09:31:53 · 3314 阅读 · 4 评论 -
技术选型——混编APP应用概述
本文主要是针对**APP进行开发之前的技术选型准备文档,现在share出来,希望在做同类开发的您留下宝贵意见。=============================分割线=====================================一, 主要应用技术 Node.Js Node.js 是一个基于ChromeV8 引擎的 JavaScript 运行环境。Node.js 使用了一个原创 2016-03-23 08:57:58 · 3350 阅读 · 2 评论 -
Mark:Ionic构建web App常用命令
1,安装npm install -g ionic 2,创建,编译npm install -g ioniccd myAppionic platform add androidionic build android 3,运行ionic serve #本地浏览器查看ionic run android #手机上查看ionic emulate android #模拟器上查看原创 2016-02-17 15:18:53 · 1948 阅读 · 4 评论 -
Hybird App——cordova(原PhoneGap)安装配置
一,环境支持 1,安卓开发环境(JDK+安卓SDK+AS/Eclipse) 2,Node.js 先说下PhoneGap跟cordova的关系:PhoneGap是原先的名字,Cordova是PhoneGap被捐给apache之后用的项目名,PhoneGap的名字也被保留了。。。具体不深究。。二,安装 安装原创 2016-01-31 14:33:33 · 2339 阅读 · 7 评论 -
Android——UIL实现图片缓存基本配置及使用
一, 为什么要使用图片缓存 在说为什么要使用图片缓存之前,先说说为什么要使用缓存?可能之前我们使用过cache, L1 cache,cookie,Session,Memcached,redis,encache,sharedPreference...这么多缓存,无非是为了避免多次读取磁盘或者网络,提高速度;(还要理解缓存的使用条件)。 接下来说说为啥要使用“图片缓存”:原创 2015-11-06 16:00:17 · 3289 阅读 · 5 评论 -
Android——安卓调试小技巧(一)
在我们做完一个Activity之后,总是要看下效果才放心,但是面对虚拟器的启动慢,反应慢的两个痛点,我们总要寻找别的方法。 1,copy生成的APK文件安装 在我们选择Run As之后,会在bin文件夹下生产一个app的apk文件,我们可以拷贝出来,在未发布到google之前,发给测试人员使用。原创 2015-09-28 21:12:56 · 1955 阅读 · 10 评论 -
Android——Layout:RelativeLayout
相对布局是指利用控件之间的相对位置关系来对布局进行设置。在容器中的控件与其他任何一个控件或者容器都有相对关系。 例如:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layou原创 2015-09-27 22:13:34 · 2019 阅读 · 8 评论 -
Android——Layout:LinearLayout
一,水平布局(horizontal) 水平放置:容器里面存放的控件或者容器只能以一行的形式出现,放置的控件只能是该行中的某个位置,两个控件或者容器之间只有左右关系没有其他方向上的关系,当放置水平方向满屏时不会自动换行,再放置的控件将在屏幕之外存在,无法看见。 例如,布局XML文件: <LinearLayout xmlns:android="http://原创 2015-09-27 21:55:52 · 2008 阅读 · 9 评论 -
Android——DDMS简单介绍
DDMS 的全称是Dalvik Debug Monitor Service,是 Android 开发环境中的Dalvik虚拟机调试监控服务。 它为我们提供例如:为测试设备截屏,针对特定的进程查看正在运行的线程以及堆信息、Logcat、广播状态信息、模拟电话呼叫、接收SMS、虚拟地理坐标等等。 一,切换DDMS视图 在左侧的Devices中,可以看到正在运原创 2015-09-27 19:44:04 · 1965 阅读 · 14 评论 -
Android——工具对话框
一,日期对话框 代码: //日期时间对话框 //获得时间相关实例,目的是为了初始化日期选择对话框弹出来的初始时间 Calendar calender=Calendar.getInstance(); calender.setTimeInMillis(System.currentTimeMillis()); i原创 2015-09-28 20:59:21 · 1816 阅读 · 5 评论 -
移动端技术简单分析
现在出门到处都是扫码送啥的活动,各类公众号跟APP为了在营销上引人眼球,也是蛮拼的了。围观下移动端的火热,冷静下来分析下未来哪种技术会是主流呢? 首先来说微信开发,微信有着强大的朋友圈的功能,这个功能可以以N的N次方的人脉优势扩散各种消息。开发起来也比较简单,C#,Java感觉都比较成熟,只需简单的认证,就可以跟微信对接,然后是调用微信的各种接口,推送消息。对比APP,微信的优势除了原创 2015-08-21 11:35:35 · 1619 阅读 · 8 评论 -
Android——Activity的生命周期
一,Demo测试Activity的生命周期 写两个Activity: package com.example.activity_04;import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.view.Menu;import android原创 2015-08-06 21:34:32 · 1566 阅读 · 7 评论 -
Android——Activity
一,Activity的主要作用 Activity位于src目录下面,创建的Activity继承Activity类,并且要重写onCreate方法。可以把Activity理解成.net里面的Form,只不过.net里面的Form上面的控件是可见的,是我们托拉拽上去的,而Activity虽然也被称为控件的容器,但是它容纳控件的方式是每一个Activity,我再res中的l原创 2015-08-06 09:58:25 · 1361 阅读 · 10 评论 -
Android——Activity和Intent
一,关于Intent 先看看一个Intent包含啥:1,Component name:决定启动哪一个组件2,action:activity应该做哪些动作3,data:一个activity向另外一个activity传递的数据4,category:5,extras:键值对6,flags 跟.net里面的httprequest对比,感觉还是蛮像的,好巧啊。二,在一个Ac原创 2015-08-06 10:53:21 · 1333 阅读 · 7 评论 -
Android——开发环境简介
一,安卓平台概览安卓开发中四个重要组件:1,activity负责应用程序中数据的显示 2,Intent在应用程序当中传输数据 3,Service承担这大部分数据处理的工作 4,Content Provider负责存数据,并允许有需要的应用程序访问这些数据二,开发环境搭建 用到的开发工具: 1,安原创 2015-08-06 09:16:47 · 1569 阅读 · 12 评论 -
xamarin的破解安装
背景: 今天组里的人提出,在Java开发少,.net开发多的情况下,建议用C#进行安卓开发,这样可以弥补java开发的不足。所以下午开完会就开始各种查资料,基本思路这样子:xamarin+vs; 但是在下载xamarin的时候,发现这个东西试用版只有30天,而且支持的APP大小也有限,就从一个小站里面扒了个破解版的,并将破解步骤分享给大家。原创 2015-08-16 20:22:31 · 2302 阅读 · 3 评论 -
Android Studio 安装后无法打开的问题
今天上午装了个Android Studio,但是装完之后各种设置,折腾了一会儿连个界面都没进去,我就伤心了,还以为是电脑上东西太多卡的,重启!!!! 重启之后,才发现我又失算了,不是卡的愿意。一条条查吧。 首先就是JDK的环境变量,重配,然后javac,没报错。之后,查了下,又加了个环境变量: 然并卵。。。 bai原创 2015-08-30 15:12:08 · 1794 阅读 · 11 评论 -
Android——Layout:TableLayout
表格布局是指该容器是一个表格,放置控件时,控件的位置坐落在表格的某个位置上。其中TableRow是配合TableLayout使用的,目的是为了让TableLayout生成多个列,否则TableLayout中就只能存在一列元素,但可以有多行。TableLayout的直接父类是LinearLayout,所以其具有LinearLayout的属性,TableLayout中的每一行用TableRow表示,每原创 2015-09-28 15:55:06 · 2296 阅读 · 13 评论 -
Android——简单对话框
一,提示对话框 效果: 调用代码: new AlertDialog.Builder(MainActivity.this) .setIcon(android.R.drawable.ic_dialo原创 2015-09-28 20:48:11 · 2331 阅读 · 8 评论 -
Android——继承SimpleAdapter重写自己的getView
在上篇Android——ListView实现简单列表 中,利用SimpleAdapter实现了简单的列表绑定。在本文中,主要是通过重写getView方法,来看下adapter内部绑定数据大致是个什么流程。 首先加入实现类: class mTestAdapter extends SimpleAdapter { private Context context;原创 2015-10-22 10:59:55 · 6014 阅读 · 12 评论 -
Android——ListView实现简单列表
最近做一个black ant的温控系统项目,里面有很多列表项,但是用的时候,感觉封装的已经挺好的了,自己拿过来改改代码就行了,所以用过之后也没什么感觉。现在趁着闲暇时间整理下简单的ListView,体会下这个东西到底是怎么个原理。 首先看下实现效果: 其中,每一条列表项加的是一个Image跟一个TextView,数据源绑定在了TextView上面。原创 2015-10-21 10:29:21 · 4725 阅读 · 10 评论 -
Java——Thread/Runnable实现多线程
一,关于线程的基本概念 一个独立程序的每一次运行成为一个进程。 每个进程又可以包含多个同时执行的子任务,对应多个线程。 将一个进程分解为互不影响的多个线程,可以使多个线程并行执行,大大缩短了执行时间。二,通过继承Thread类实现新线程 public class FactorialThreadTe原创 2015-10-04 16:45:21 · 2155 阅读 · 6 评论