自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Yougel的博客

以记录学习内容为主

  • 博客(35)
  • 收藏
  • 关注

原创 Linux 命令(一)

一、命令简要 用户登录后就会有命令提示符 通常 #是管理员用户,$是普通用户,在命令提示符之后可以输入命令 命令的输入格式通常: command [option] [argument] option 选项有长选项和短选项 argument 参数 某些选项可能需要带参数 例如:ls -l /bin/ls 列出ls文件的详细信息 关于命令的详细使用以及每个选项的意义都可以参照手册 ...

2018-09-06 01:03:29 184

原创 Linux 开始

一、操作系统简要 整个操作系统简要分为4层 1、底层硬件部分 2、内核,直接调用硬件资源的程序(Linux系统应该算是使用Linux内核的统称) 3、库,封装了一些常用公用的功能的程序(通过系统调用,如.so) 4、shell(外壳),用户与内核“通信”的来使用硬件资源的程序 shell分类 GUI 图形用户接口(window桌面,Gnome、KDE、Xface) CLI 命令...

2018-09-04 23:01:51 149

原创 Socket通讯

Socket通讯简单点理解就是通讯双方通过某个端口进行数据的相互传输,与常用的http的请求-响应方式不同,Socket通讯无需客户端向服务器发送请求,然后服务器在响应,直接就是进行数据传输。一、Socket的类型Socket有两种类型: 1、基于TCP协议传输数据的streamsocket; 2、基于UDP协议传输数据的datagramsocket。 传输过程如下: 通常我们都使用TC

2016-11-22 23:29:29 353

原创 Android应用-更新模块的实现

一个完整的app应用都会包含一个更新的功能模块,通过网上查询相关资料,今天我来简单说明一下更新模块的实现步骤一、版本的确认app要更新一般都是有新版本才要更新,所以首先要确认服务器端的版本是否比当前客户端的版本高,如果高就进行后续操作,否则就没有必要进行下去 1、首先要获取当前客户端应用的版本号//获取应用当前版本号 public int getVersionCode() {

2016-11-22 21:35:05 930

原创 HttpURLConnection的简单使用

在android中除了使用HttpClient接口外,还可以HttpURLConnection抽象类来完成网络请求,而且相比较于HttpClient更简单。一、使用步骤1、获取Url对象URL requrl = new URL(url);字符串url是要请求的网址 2、通过对象引用requrl获取HttpURLConnectionHttpURLConnection urlConnection =

2016-11-22 20:37:39 327

原创 HttpClient的简单使用

HttpClient接口是由Apache提供的,如果要使用就必须在gradle文件的android节点下添加一句useLibrary “org.apache.http.legacy”,具体如下:android { compileSdkVersion 24 buildToolsVersion "24.0.2" useLibrary "org.apache.http.legacy

2016-11-22 00:39:16 321

原创 Http协议

Http协议是基于TCP/IP协议的应用层协议,不涉及数据包的传输,主要规范服务端和客户端的通信格式,默认端口80,下面来初步了解一下http的历史发展过程一、HTTP/0.9http协议最早是1991年发布的0.9版本,当时http协议极其简单,只有一个get请求方法GET/index.html上面是当tcp连接成功后,客户端向服务端请求index.html文件<html> <body>Hel

2016-11-21 23:14:48 1297

原创 handler机制及其使用

大家都明白UI的更新只能在UI主线程,如果要在子线程更新UI就好抛出异常提示,自己的view自己修改,别人别管那么多。之所以UI是由单线程控制是为了避免多线程带来无法预期的“错误”。既然这样干嘛不加个锁同步一下,很简单因为影响性能,会带来不友好的用户体验。所以这条路也行不通,就出现了handler这种消息机制来解决上面问题。一、核心对象 在handler机制中有三个类,分别是handler、loo

2016-11-14 23:05:52 528

原创 项目尾声(ListView+CheckBox进行批量删除)

项目的最后就是显示截图记录,从一开始简单的在每个item右侧添加一个CheckBox的方式,改成了长按 某行item,每个item的CheckBox才显现出来,并且显现底部菜单栏进行编辑。为了满足需求,需要重新订制Adapter,以下是我编写的Adapter的源码import android.content.Context;import android.view.LayoutInflater;im

2016-11-04 01:04:50 311

原创 关于Android 6.0权限问题的初步了解

一、概述 android6.0最大的新特性就是在权限的处理上进行了“大改革”。 1、6.0之前的版本权限的授予都是在应用安装的时候授予的,这样的方式对于开发者来说很方便,只要在Manifest文件上授予相应权限即可。但对于用户来说就是一件很危险的事情,因为用户安装应用并不会仔细去看具体是哪些权限,基本都是默认安装,然后能够使用app就行了,这样有很大的安全隐患。 2、Android6.0开始权

2016-11-02 20:42:10 361

原创 主界面(关于信号检测)

上一篇已经说到了整个项目的总体,包括需求、分工,(因为项目要求功能少,就没有做更详细的设计),以及项目遇到的问题概要和涉及到的内容。 本篇主要说一说个人在主界面的开发的一些问题及解决方法 一、前期分析与设计 在一台专门定制的工程机上有有款app(下面都命名为模板app)是能够获取当前位置全网段的信号强度,通过反编译该app,大概了解到,其工作原理。 1、该app是通过AT指令来获取信号强度的

2016-11-02 00:34:18 576

原创 关于信号检测的项目

第一次参与实际项目中还是有点小鸡冻的,毕竟和平时“小打小闹”的仿app不同,因为这次是要做出来给用户使用的。 闲话不多说,下面来回忆一下前个星期的赶项目过程(隔了一个星期才回忆,也就想表达一下失落之情,至于为啥失落,请看下文) 一、需求的获取及分析 整个项目是一个外包的小项目,需求不多,只要能获取当前位置的各运营商不同网络段的信号强度即可。这么简单???当时我就是这么轻敌。 整个项目仅用到两

2016-10-30 01:05:27 487

原创 Android UI 之选项卡

当应用的内容过多时,我们可以通过选项卡的方式把应用的内容分类到每个选项下,让用户有更好的体验。下面会介绍三种选项卡的实现方式。 一、TabHost实现选项卡 布局文件<?xml version="1.0" encoding="utf-8"?> <TabHost xmlns:android="http://schemas.android.com/apk/res/androi

2016-09-20 19:57:11 904

原创 Android UI 之 PopupWindow

一、PopupWindow的概述 PopupWindow弹出框,与Dialog有点相似,不同点在与PopupWindow可以选择显示的位置,以及窗体的大小 常用的方法 PopupWindow(View) 构造方法传递一个View的对象参数,这个View使用inflater动态加载布局的方式生成 setWidth(ViewGroup.LayoutParams.MATCH_PARENT)设置窗体

2016-09-20 00:12:47 226

原创 Android UI 之 ListView

一、ListView的三要素 1、ListView本身 在主布局中添加ListView控件,用来显示列表 2、数据源 ListView要显示的内容 3、适配器 将数据源匹配到指定行模板(一个布局文件),并将每行集中“添加”到ListView中,是数据源与ListView结合起来的关键纽带二、ListView的两种常用适配器 1、ArrayAdapter ArrayAdapter适用于

2016-09-19 01:23:15 238

原创 Android UI 之 Dialog

Dialog控件就是一个对话框,显示在屏幕中间的小窗体,其宽高由其内容决定,所有的对话框类都直接或间接继承Dialog类。一、AlertDialog AlertDialog直接继承于Dialog类,通过使用Builder类来构建AlertDialog 下面是一个简单的AlertDialog的实现:public void titleDialog(){ AlertDialog.Bui

2016-09-17 13:59:22 186

原创 Android UI 之 Progress&ProgressDialog

应用运行时,总有执行耗时的任务的时候,如果这个时候应用不作任何提示就这么干放着,很容易令用户误以为“死机”、“卡了”之类的,然后就做出强制退出,或重启的操作。为了避免用户误会及在此之后作出一些不必要的操作,我们可以使用Progress(进度条)来提示用户等待,应用是正常运行,只是在执行着耗时的任务。一、Progress 实例 xml布局文件:<?xml version="1.0" encodin

2016-09-16 01:27:20 179

原创 Android UI 之 TextView系列

一、TextView及其子类 TextView及其子类间的继承关系图如下: 其中橙色框的控件是平时比较常用,所以也就具体总结一下几个常用的控件的使用方式二、TextView 常用属性: android:text 指定文本 android:textSize 文本大小,单位推荐用 sp android:textColor 文本颜色 android:textSyte 设置文本框内文本的字

2016-09-13 23:22:10 191

原创 Android的布局(三)

前面大概了解了两个常用的布局,线性布局和相对布局,接下来看看其他布局 一、TableLayout TableLayout继承LinearLayout,其有个特殊的子节点TableRow,这个TableRow相当于一个orientation属性值为horizontal的LinearLayout,然后添加多个TableRow排成多行,形成一个类似表格的界面。 TableLayout常用的属性:

2016-09-12 23:36:26 185

原创 Android的布局(二)

常用的布局除了LinearLayout之外,还有一个RelativeLayout(相对布局)。不同于LinearLayout把子组件限制在一条线性上排列,使用RelativeLayout,我可以把子组件放到布局的任意位置。当然,在满足这一需求的同时,我们就要多添加一些属性,经常做一些细节上的调整。(为了使界面让人看起来更舒服,调整的工作必不可少)一、RelativeLayout常用的属性1、属性值为

2016-09-12 22:36:49 160

原创 Android的布局(一)

安卓的布局有六大类,它们之间的关系如下图: 除了TableLayout继承LinearLayout外,全部继承自ViewGroup类 今天主要了解LinearLayout,其中文译名就是线性布局,在该布局中部件都是按照一条线进行排布,例如:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://sc

2016-08-27 22:36:44 305

原创 自定义View

View是个大家族,基本上我们在移动设备上能看到的部件都属于View的子类,下面图大致介绍了View的继承关系。 下面是通过自定义View的方式完成一个跟随手指移动的实心圆 1、创建一个CircleView类继承Viewimport android.content.Context;import android.graphics.Canvas;import android.graphics

2016-08-27 21:28:41 295

原创 Android控制UI界面的三种方式

一、XML文件控制UI界面 通过setContentView()方法绑定布局文件import android.support.v7.app.AppCompatActivity;import android.os.Bundle;public class MainActivity extends AppCompatActivity { @Override protected void

2016-08-27 16:02:31 1947

原创 Activity与Intent

一、Activity 1、什么是Activity? Activity可以视为一个手机上的一个界面,如短信会有一个显示短信的界面就是一个Activity,显示所有的联系人的界面也是一个Activity。 2、Activity的创建 在Android studio有两种方式创建Activity,第一种是新建一个类并继承Activity类或其子类,然后在Androi

2016-08-20 23:41:39 1787

原创 Android常用的辅助工具

一、adb,Android桥接工具 adb常用的命令 1、devices:查看当前连接pc的设备 2、安装和卸载app install:安装app 还有-s选项表示安装到sdcard中 uninstall:卸载app 可以添加-k选项,表示删除app但保留数据和缓存目录3、通过shell命令进入设备底层 先切换到一个可操作的目录下,如:sdcard cd ..表

2016-08-20 22:28:21 576

原创 Android环境搭建及第一个Android应用

一、Android studio的安装及配置 1、jdk的安装以及环境变量的设置,Android studio不同版本对jdk的最低版本要求也不同,最好选择最新版本的jdk进行安装; 2、android studio的安装,能翻墙可以去android官网下载,或者一些安卓资源网站也可以,目前稳定版最新的是2.1; 可以在这个链接找到想要的资源:http://www.androiddevtool

2016-08-20 00:07:28 271

原创 Java多线程

一、线程的基本概念 每一个操作系统都会运行程序,一个正在运行的程序是一个进程,每一个进程都是系统进行资源分配和调度的独立单位,而每一个进程又包含多个线程。通常java中的main方法里的代码就是一个主线程,它会顺序执行main方法中的代码,所以每个线程也可以看作一个顺序执行流。 并发与并行两种概念会经常出现在多线程中。对于一个CPU而言,它在某一个时刻只能执行一个

2016-08-08 22:11:55 222

原创 利用面向对象的思想实现一套代码,要求一个APP支持微信支付,支付宝支付,银联支付

首先有一个用户的类: import java.util.Map;public class Account { private String userName; private int password; private double money; private Pay pay; public String getUserName() {

2016-08-03 00:40:57 807 1

原创 龟兔赛跑

这个题目我分别创建两个线程类来进行实现 乌龟线程: public class Tortoise extends Thread { @Override public void run() { int step=0; while(step!=50000){ step++; } System.

2016-08-02 21:34:24 271

原创 编写通用的java代码执行任意adb命令

package com.yougel.ExeAdb;import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileWriter; import java.io.IOExce

2016-08-02 21:22:59 1383

原创 Java的IO操作

一、输入与输出 输入即是程序从磁盘、光盘等存储设备获取数据,或者用户输入的数据。 输出是程序在显示器显示当前状态或者将数据存储到硬盘,U盘等存储设备中。 Java的输入输出操作都是由java.io包下的类和接口实现。 二、File类 File类提供了对文件和目录的操作,例如创建、删除、重命名,以及获取文件属性,例如是否存在,文件名,文件路径等。 注:这些操作并不包括对文件内容的操作 访

2016-07-26 02:38:13 260

原创 SVN源码管理

SVN源码管理 SVN是一种集中式的源码管理器,通过一个服务器作为中心,集中管理所有源码。 一、SVN的安装以及简单的目录介绍 在使用SVN之前,首先需要有服务器端和客户端,为了简单演示使用,个人将二者装在同一台机器中。 先下载下面两款软件: VisualSVN-Server https://www.visualsvn.com/server/download/ TortoiseSVN

2016-07-25 01:42:22 871

原创 Java的异常处理

一、异常的概念 程序运行总会有出现错误状况的时候,例如:找不到文件、输入值类型不符合、数组下标为负数等,java把这些经常出现的各种意外状况当成对象进行处理。所有异常和错误的超类都是Throwable。 下面是异常的分类 Throwable有两个子类Error、Exception 错误是指合理的应用程序不应该捕获的严重问题,大多数Error都是异常的,虽然ThreadDeath Error是

2016-07-20 19:55:17 290

原创 集合&泛型

在java的开发中会经常用到集合与泛型,下面根据本次学习作出如下总结。 一、集合 1、集合分为两大体系,Collection和Map Collection又分为多种集合类,其中比较常见的有: List 该集合的特点是,集合中元素有序、可重复 Set 该集合类的特点是,集合中的元素是无序的、不可重复的。 Queue(队列)用的比较少。 Map 集合是由一组键值对组成,当添加的元素的键已经

2016-07-19 15:09:29 255

原创 Date、Calendar and SimpleDateFormat

Date、Calendar and SimpleDateFormat 今天主要学习了三个常用的时间日期类,分别是Date、Calendar和SimpleDateFormat 一、Date和Calendar类 Date和Calendar类都在软件包java.util中,其中Date类可以通过new一个Date对象获取当前系统时间,格式如下: Date d=new

2016-07-18 18:44:17 318

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除