Android开发
文章平均质量分 51
若先设计之计算机软件开发
执着于拼搏,执着于努力,努力可以证明一切,一切皆可实现
展开
-
解决Android Studio中找不到HttpClient问题解决
在Android 6.0(API 23) 中,Google已经移除了Apache HttpClient 想关类,推荐使用HttpUrlConnection,如果要继续使用,在Android studio对应的module下的build.gradle文件中加入:android {useLibrary 'org.apache.http.legacy'}上面的jar包在:\android原创 2017-02-04 08:22:34 · 2087 阅读 · 0 评论 -
扫描手机本地mp4视频文件并返回List集合
privateListgetVideoFile(finalListlist, File file) { file.listFiles(new FileFilter() { @Override public boolean accept(File file) { String name = file.getName();原创 2016-09-29 15:53:45 · 1078 阅读 · 0 评论 -
使用List<实体对象>来自定义适配器
针对项目需要要进行自定义适配器来设计,主要是因为的是在扫描本地文件,要创建对象来接受文件的name和文件的path,如果使用SimpleAdapter显然是不满足要求的,这里传递的List集合形式不对,所以这里使用自定义适配器来完成。 public voidinitData(){ final List videoList=getVideoFile(allVideoList原创 2016-09-29 15:52:19 · 786 阅读 · 0 评论 -
自定义支持缩放的ImageView
自定义实现可以进行对ImageView上的图片进行双击放大缩小、手势放大缩小等,主要解决的问题是,由于图片过大或者在显示上过小,如果想点击其中的某一个点时,此时由于图片显示上的点过小,此时就可以使用手势进行移动、放大、缩小等功能实现解决。package com.example.controlandroid;import android.annotation.TargetApi;im转载 2016-10-13 16:11:29 · 775 阅读 · 0 评论 -
Android隐藏/移除ActionBar
setContentView(R.layout.activity_img_main);当使用Android中的ActionBar控件时,如果想要隐藏上面的ActionBar,可以使用如下的代码:getSupportActionBar().hide();上面的代码会将整个ActionBar都隐藏掉,包括ActionBar中的Tab分页标签,如果想要保留分页标签的话,可以使用如下的代码:原创 2016-10-13 15:22:57 · 1687 阅读 · 0 评论 -
android实现基于TCP和UDP协议的即时通讯,含android端和服务器端
这几天学习了下在android中实现即时通讯的方法,一开始,自然是从基本的网络协议中开始尝试了,这样能够最大化的私人订制自己的应用,还能学习到更多的知识,好处多多,接下来就简单介绍下两种协议的不同点吧TCP协议: 提供IP环境下的数据 可靠传输 ,它提供的服务包括 数据流 传送、可靠性、有效流控、全双工操作和多路复用。通过面向连接、端到端和可靠的 数据包 发送。就如给悬崖上的两人通信时,他转载 2016-10-13 13:49:58 · 2173 阅读 · 0 评论 -
Android之AsyncTask学习
1) Handler和AsyncTask存在的原因主要的原因就是为了不阻塞UI线程,且UI的更新只能在主线程(UI线程)中完成的,所以异步处理是必须的。2) 进度条项目实现简单的异步线程操作==>配置文件xml version="1.0"encoding="utf-8"?>LinearLayout xmlns:android="http://schemas.android.原创 2016-09-14 16:23:13 · 300 阅读 · 0 评论 -
相机拍照功能之权限和Android版本问题
对于Android 6.0之前,想要使用系统的相机进行拍照,那么只要在AndroidManifedt.xml中进行添加相应的权限,主要是两个:uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>uses-permission android:name="android.permission.C原创 2016-09-13 16:47:25 · 36666 阅读 · 1 评论 -
Gitlab和SourceTree组合实现版本控制
1)Git、SourceTree和Gitlab三者之间关系简单来说,Gitlab是存储在远端的代码,git是本地代码与远端代码沟通的桥梁,但git是完全命令行模式,而SourceTree则是git的界面化的Git客户端。2)创建公钥和私钥==>创建公钥和私钥的目的使用git bash命令生成gitlab服务端和本地git相互传输时所需要校验的公钥和私钥,公钥用来配置gitlab,私原创 2016-09-09 14:29:30 · 5735 阅读 · 0 评论 -
Android App调用C# WebService接口
1)下载ksoap2-android-assembly-3.3.0-jar-with-dependencies.jar包和下载andbase.jar包如果是在网站端,直接把webservice添加引用即可,那在网站中就直接调用对象以及相应的方法就ok了,但是在Android移动端,需要添加在Android端调用webservice类库的jar包,是对XML进行解析的。2)App端发送请求W原创 2016-09-09 14:27:53 · 3261 阅读 · 0 评论 -
各种提示框设计
1)带有删除临时缓存并且判断是与否的退出提示框protected voiddialog() { AlertDialog.Builder builder = new AlertDialog.Builder(UserDetailsActivity.this); builder.setMessage("确认退出吗?"); builder.setTitle("退出原创 2016-09-09 14:26:46 · 879 阅读 · 0 评论 -
扫描手机SD卡文件
SD卡:public voidinitData(){ File root = new File("/mnt/sdcard"); if (root.exists()) { currentParent = root ; currentFiles = root.listFiles(); inflateListVi原创 2016-09-29 15:54:50 · 374 阅读 · 0 评论 -
利用AsyncTask实现异步加载
这是在Fragment中使用的:@Overridepublic void onActivityCreated(@NullableBundle savedInstanceState) { super.onActivityCreated(savedInstanceState); videoListView=(ListView)getActivity().findView原创 2016-09-29 15:55:24 · 250 阅读 · 0 评论 -
VideoView实现全屏和横屏播放
1)XML布局 控件的使用:在布局的时候,VideoView要使用一个控件包裹起来,我这里使用的是id= Video_play_quan的RelativeLayout控件。RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://原创 2016-09-29 16:17:52 · 10206 阅读 · 0 评论 -
Intent传递HashMap数据
1)先要创建model对象public classSerializableHashMapimplements Serializable { private HashMap map; public HashMap getMap() { return map; } public void setMap(HashMap map) {原创 2017-02-04 08:22:05 · 1936 阅读 · 0 评论 -
ConnectivityManager
主要是管理和网络连接相关的操作; ConnectivityManagercwjManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfo info = cwjManager.getActiveNetworkInfo();if (inf原创 2017-02-04 08:21:53 · 470 阅读 · 0 评论 -
TelephonyManager
主要管理和手机、运营商等相关的信息。如下就是获取到TelephonyManager对象tm,通过tm对象就可以获取到手机的设备id和设备名称等相关信息。TelephonyManagertm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);String DEVICE_ID = tm.getDeviceId();原创 2017-02-04 08:21:32 · 387 阅读 · 0 评论 -
动态添加布局文件
动态添加布局文件就是在当前文件中添加其他布局文件,主要是要使用其他布局文件中的控件,主要使用的类是LayoutInflater类,在创建的过程中,先要添加服务后,直接的使用inflate()方法。LayoutInflaterinflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);原创 2017-02-04 08:21:15 · 366 阅读 · 0 评论 -
Android中长按事件操作
关于ListView长按事件主要是两种,分别是onItemLongClick和onCreateContextMenulistener,onItemLongClick长按事件是无法显示ListView的菜单,而onCreateContextMenulistener在执行的时候是可以显示菜单的。 当在执行删除的时候,一般都是会弹出对话框,让用户选择是否进行相应的操作,比如删除的原创 2017-02-04 08:20:44 · 2776 阅读 · 0 评论 -
百度地图申请key和value值
在“百度地图开放平台”上创建应用后,此时需要发布版和开发版SHA1. 获取步骤: (1) 在AS下面找到Terminal控制台,并回到C盘(不管当前在哪个盘符下,都要先回到C盘) (2) 从C盘根目录下进入到User原创 2017-02-04 08:20:18 · 3429 阅读 · 0 评论 -
com.android.ide.common.process.ProcessException错误
这个问题的出现是在将eclipse项目导入到Android Studio中,由(.9.png)图片造成的,现在的解决方法是将其换成png图片。原创 2017-01-22 09:06:24 · 407 阅读 · 0 评论 -
Error:Execution failed for task ':app:buildInfoDebugLoader'.
当运行程序的时候,此时会弹出这样的问题Error:Execution failed for task':app:buildInfoDebugLoader'.> Exception while doing past iteration backup: Source/home/ruiqin/AndroidStudioProjects/DouTuGaoShou/app/build/interme原创 2017-01-22 09:05:53 · 280 阅读 · 0 评论 -
ListView、GridView等控件实现刷新
1)进一步学习Android生命周期 onCreate():该方法是用来进行加载布局文件,实现初始化的,但是在onCreate()方法在执行的过程中,此时的Activity是不可见的,对于一些动画初始化和界面切换时需要用到的初始化,是不能在onCreate()方法中进行初始化的。 onCreate()方法主要是存在两大功能,一是使用onContentView()方法原创 2017-01-22 09:05:08 · 413 阅读 · 0 评论 -
手机连接不上IIS网站(站点)
主要问题:防火墙问题。检查防火墙设置,本文遇到的毛病就是由于Win7自带的防火墙禁止了网站程序的端口,使得远程用户不能访问IIS。这里有两种方法解决。A、关闭防火墙。控制面板-Windows防火墙-打开或关闭Windows防火墙(不推荐)B、打开:控制面板-Windows防火墙-高级设置-入站规则,在入站规则窗口中找到”BranchCache内容检索(http-in)“选项并启用此规则。这时候原创 2017-01-22 09:01:52 · 5362 阅读 · 0 评论 -
设置Button按钮上面圆角下面直角
xml version="1.0"encoding="UTF-8"?>layer-list xmlns:android="http://schemas.android.com/apk/res/android"> item> shape> solid android:color="#151104"/> co原创 2016-09-09 14:25:52 · 4712 阅读 · 0 评论 -
Android中实现延迟加载效果
主要是分两步实现,一是在xml布局中使用ViewStub控件,再在java代码中实现。1) 首先,只要是要将Android页面中要进行延迟加载,那么都要将该部分布局加载到ViewStub中。FrameLayout android:layout_width="match_parent" android:layout_height="360dp" android:原创 2016-09-09 14:24:59 · 1625 阅读 · 0 评论 -
在string.xml中添加空格
在string.xml中,使用 表示空格,如果是英文空格,使用两个 就可以了,如果是汉字空格,则要使用的是 四个。原创 2016-09-09 14:24:10 · 1881 阅读 · 0 评论 -
使用Greendao进行批量添加数据(Android Studio读取assets下的数据库文件)
当我们使用greendao进行批量数据添加的时候,可以使用greendao提供的insert()方法,这个方法的使用范围适合在插入一条或者几条数据,只要原因在于的是,当我们使用greendao提供的insert()方法的时候,此时是需要进行new操作的,当我们进行new操作的时候,此时程序在运行的时候,此时的系统是要给当前的程序提供很多的内存空间,所以,根据尽量减少程序运行内存的原则,我们在程序中原创 2016-09-09 14:12:19 · 9041 阅读 · 0 评论 -
GreenDao框架使用
1) 注意的是,我这里使用的是Android Studio开发工具,将greendao集成到Android Studio中,目的就是实现的是在Android Studio中更好地操作Sqllite数据库。2) 首先我们要将我们的Android目录打开到project下,不能打开到Android下,虽然相比Android目录较Project更简洁,但是操作greendao,是要在projec原创 2016-09-09 14:11:08 · 625 阅读 · 0 评论 -
app微信支付
1) 支付流程1、 首先是把该app注册到微信,2、 发起一个线程生成支付订单。这里要注意金额的单位为分,只能为整数。 3、把支付订单post到后台生成一个预支付订单,返回prepay_id(预支付回话标识) 4、将参数再次签名传输给app发起支付, 5、支付结果会在WXPayEntryActivity类里onResp函数中查看,当errCode为:0表示成功-1表示错误原创 2016-09-09 14:09:48 · 1164 阅读 · 0 评论 -
Andriod Studio导入第三方类库
==>修改配置文件导入1) 首先要将第三方类库复制到相应的目录下2) 修改必要的文件接下来需要手工修改项目跟目录下settings.gadle 添加include ':App',':Httpzoid'这里必须手工修改没有其他方法然后在打开App/build.gradle这个文件,添加dependencies{compile project(':Httpzoid'原创 2016-09-09 14:07:38 · 330 阅读 · 0 评论 -
使用Relalayout实现层叠式布局
1) RelaLayout布局原理RelalitveLayout布局使用的是堆栈原理,也就是在RelativeLayout布局中的组件,越是在先定义的控件就越在底层显示,后创建的控件在其上面显示,在实现原理上就是堆栈原理。2) 实现效果 3) Xml布局 android:id="@+id/viewImageBox1" android:layout_w原创 2016-09-09 14:02:27 · 906 阅读 · 0 评论 -
手机摇一摇实现功能
1) SensorManager类这是一个管理传感器的类;Context.getSystemService(SENSOR_SERVICE)得到SensorManager ,有了它你就可以管理传感器了;2) Sensor编程的一般步骤:1.取得SensorManagersensorManager= (SensorManager) getBaseActivity原创 2016-09-09 14:01:22 · 784 阅读 · 0 评论 -
Android消息推送(广播机制)+通知
Android广播机制使用了观察着模式;(1) 通知1) 获取状态通知栏管理NotificationManager 是一个系统Service,所以必须通过getSystemService(NOTIFICATION_SERVICE)方法来获取。即:notificationManager=(NotificationManager)this.getSystemService(NO原创 2016-09-09 14:00:27 · 3416 阅读 · 0 评论 -
Button点击两次实现页面跳转
android:focusable="true"android:focusableInTouchMode="true" focusableInTouchMode是通过touch来获取到focus焦点的,也就是说,focusableInTouchMode一般是不用的,而且这两个是不能一起使用的,否则会出现两次点击才会出现效果的bug.原创 2016-09-09 13:59:04 · 1075 阅读 · 0 评论 -
一个Activity或者是Fragment中三个Fragment进行切换
lvCommunity.itemClick(new SNAdapterOnItemClickListener() { public void onItemClick(SNAdapterViewInject snAdapterViewInject) { if (snAdapterViewInject.getData(CommunitySpla原创 2016-09-09 13:57:07 · 607 阅读 · 0 评论 -
1.带有“T”的时间调整格式
当在开发过程中,如果数据库(这里使用的是Mysql)数据库时,在获取当前时间时,中间带有“T”,去掉“T”,并进行了襄阳的方法封装。publicString getTime(CommunityTopics communiityTopics) { String time = communiityTopics.getLastPostTime(); String[] sp原创 2016-09-09 13:54:23 · 20698 阅读 · 0 评论 -
点击Home健,退出程序,再点击图标,进入程序
现在出现的额问题就是,当我们在点击Home健的时候,此时会出现的问题就是,程序会正常退出,但是当我们再点击这个应用程序的图标的时候,此时就会重启这个应用程序,而现在我们想要的结果是,点击Home健,让程序在后台继续运行。 解决办法: private longexitTime=0; @Override public booleanonKeyDown(原创 2016-09-09 14:13:17 · 715 阅读 · 0 评论 -
使用SharedPreferences来实现判断程序是不是第一次运行和临时保存数据
1)判断程序是否是第一次执行首先Sharedferences是实现Android读写外部数据的方法了。SharedPreferences sharedPreferences = this.getSharedPreferences("share",MODE_PRIVATE);boolean isFirstRun = sharedPreferences.getBoolean("is原创 2016-09-09 14:14:11 · 3825 阅读 · 0 评论 -
Android Studio中读取assets文件夹下的文件
这里涉及到的有两种需求,分别是读取assets下的数据库文件,另一个是读取assets下的图片。1) 读取assets下的数据库文件public classSQLdm { String filePath ="data/data/tongchuang.com.test/databases/test.db"; String pathStr = "data/dat原创 2016-09-09 14:15:20 · 4101 阅读 · 0 评论