自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

changchou

Ghost In The Shell

  • 博客(48)
  • 资源 (2)
  • 收藏
  • 关注

原创 Android引导页面

应用引导页是现今App的必需品,通过引导页可以第一时间知道此款软件的特色,如何使用。并且能了解到最新的动态和更新。 第一页,Logo页面或者欢迎页面,判断是否需要进入引导页。 1 package com.zhang.viewpagerdemo; 2 3 import android.app.Activity; 4 import android.content.Intent; 5

2016-12-22 15:55:32 267

原创 Android 图片相关处理库ImageLoader、Picasso、PhotoView、GifView

Universal-ImageLoader:在Android图片处理中需要考虑的问题很多,例如OOM、图片缓存和网络图片加载、多线程问题及图片压缩处理等复杂的问题,ImageLoader和Picasso为我们解决了这些问题。优点:支持本地图片和网络图片的多线程异步加载和缓存处理;个性化的配置自己项目的ImageLoader;图片加载过程的监听回调;自动对加载的图片针对当前剩余内存进

2016-12-22 15:55:24 544

原创 Android 非空格式验证框架---Android Validation

Validation是一个简单的函数库,使用注释语法来验证用户输入的表单信息。你仅需编写几行代码就可以实现一些表单验证功能,且显示的所有视图都将反馈给用户。它还带有一个可扩展的在线验证选项,这样你就可以为定制视图编写自己的验证信息及适配器。Validation的功能如下:Required(必填)、NotBlank(非空数据)、Digits(仅数字)、Email(邮箱)、2选1必填项验证、重复密码验

2016-12-22 15:55:21 909

原创 Json解析库

Json(JavaScript Object Notation)是一种轻量级的数据交换格式。用于数据传输,通用于PHP,Java,C++,C#,Python等编程语言数据交换传输。Google为我们提供了Gson解析库可以将一个JSON字符串转成一个Java对象,或者反过来。将Gson.jar包放在libs中,Add as Library,这里还用到了Volley库进行网络通信。示例: 1

2016-12-22 15:55:18 328

原创 Cocos2d-x 物理引擎及碰撞

基础知识: 1 #ifndef __HELLOWORLD_SCENE_H__ 2 #define __HELLOWORLD_SCENE_H__ 3 4 #include "cocos2d.h" 5 6 class HelloWorld : public cocos2d::Layer 7 { 8 private: 9 Size visibleSize;10 pub

2016-12-22 15:55:15 703

原创 Cocos2d-x基础知识

本人在Visual Studio 2013用C++编写。运行时如果出现中文乱码,可在HelloWorldScene.cpp中加入 #pragma execution_character_set("utf-8") 。 显示对象Sprite: 1 //加载图片 2 //方法一 3 /*auto logo = Sprite::create("icon.png");*/ 4

2016-12-22 15:55:13 324

原创 C++ 基础知识

1 C++面向对象  1 // 2 // Created by Mr.Z on 2016/3/2 0002. 3 // 4 5 #ifndef L01OOP_PEOPLE_H 6 #define L01OOP_PEOPLE_H 7 8 #include 9 class People {10 public:11 void sayHello();12 };

2016-12-22 15:55:10 464

原创 C 语言文件操作

1.文件读写 1 #include 2 #include string.h> 3 4 int main() { 5 6 7 //write file 8 // FILE *f = fopen("data.txt", "w"); 9 // if (f != NULL) {10 // fputs("Hello C!\n", f);//字符

2016-12-22 15:55:07 233

原创 C 语言结构体和共同体

1.结构体 1 #include 2 3 //创建结构体File 4 struct File { 5 char *name; 6 int size; 7 }; 8 9 //创建结构体People 用typedef自定义10 struct _People {11 char *name;12 int age;13 };14 15 t

2016-12-22 15:55:04 431

原创 C 语言指针的用法

1.指针基本介绍#include #include #include int main() { int a = 10; int *pa = &a; printf("%d\n", *pa); int32_t *intP = (int32_t *) malloc(4); *intP = 100; printf("%d\n", *intP)

2016-12-20 16:43:45 246

原创 C 语言常用的预处理-宏函数

#include // 宏函数 三目运算符#define MAX(A, B) A>B?A:B//宏函数 多行 添加\直接回车#define LOOP(FROM, TO, CONTENT)\for(int i=FROM;i<TO;i++){\CONTENT\}//宏函数不需要确定参数类型 普通函数如下int _max(int a, int b) { ret

2016-12-20 16:32:32 359

原创 C语言函数

1.声明函数#include //函数void printHelloWorld() { printf("Hello World\n");}//带传入参数void hello(char *name) { printf("Hello %s\n", name);}//多个传入参数void hi(char *name, int age) { print

2016-12-20 16:16:55 463

原创 C语言字符串操作

1.字符串连接#include #include #include int main() { char * str = "Hello"; char * str1 = "World"; const uint32_t DIST_LEN = 100; char dist[DIST_LEN]; memset(dist, 0, DIST_LEN);

2016-12-20 15:34:00 223

原创 C语言数组

#include #include #include int main() { int32_t len = 10; int32_t arr[len];//arr[0] 访问数组第一个元素 // clear array 清除数组 C中数组被创建时会有内存数据 for (int a = 0; a < len; a++) { arr[a] = 0

2016-12-20 02:18:40 312

原创 C语言输入与输出

1.输出字符和字符串#include int main() { putchar(80); char ch = 'A'; putchar(ch); puts("Hello World!\n"); char str[] = "Hello Clion"; puts(str); return 0;}2.格式化输出#in

2016-12-20 02:15:40 427

原创 C 语言常用运算符

1.数学运算符#include #include #define M_PI 3.14159265int main() { int32_t a = (10 + 2 - 8) * 9 / 3; printf("%d\n", a); printf("%f\n",sin(M_PI)); return 0;}2.逻辑运算符#include #

2016-12-20 02:06:09 300

原创 C 语言流程控制与循环

1.if 语句#include int main() { int32_t a = 8; int32_t b = 6; if (a > b) { printf("Max num is a, %d\n", a); } else { printf("Max num is b, %d\n", b); } int3

2016-12-20 01:56:19 282

原创 C 语言常用的基本数据类型

1.常量和变量#include #define MY_AGE 10000const int MY_AGE1 = 10000;//推荐方法int main() { int a = 10; printf("The num is %d \n",a); a = 11; printf("The num is %d \n",a); printf("My

2016-12-20 01:38:45 383

原创 Android基于Http网络通信

1.AsyncTask + URLConnection import android.os.AsyncTask;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.TextView;impo

2016-12-19 23:38:59 488

原创 Android基于Socket的网络通信

Socket用于在应用程序向网络发出请求或者应答网络请求。ServerSocket用于服务器端,Socket用在建立网络连接时。若连接成功,应用程序两段都会产生一个Socket实例,操作这个实例完成会话。对于一个网络连接,Socket是平等的,不会因为服务器端或在客户端而产生不同级别。Socket基于TCP链接,数据传输有保障,较适用于建立长时间链接。通常Socket编程应用于即时通讯。

2016-12-19 16:40:37 270

原创 IntelliJ IDEA 2016配置SpringMVC及简单开发

这里最好是用Download,试过Use library,觉得少些东西。如果下载不了。可以试试设置http proxy,选择auto-detect proxy settings。下载完成后,项目创建成功,需要配置Tomcat。点击右上角Edit Configurations,再点击+ Add New Configuration,选择Tomcat Server-Local,弹出对话框:在

2016-12-18 02:22:48 1510

原创 Android文件读写

1.assetsassets文件在main文件夹中与java、res同级,assets的文件不会在R资源中生成id,目录中可以有子文件夹,文件不会被编译成二进制,存放到这里的资源在运行打包的时候都会打入程序安装包中。读取方法如下:try { InputStream is = getResources().getAssets().open("inf

2016-12-17 01:25:18 258

原创 Android 一键加速

Android实现一键加速需要获取本机的ActivityManager.RunningAppProcessInfo,通过遍历这些RunningAppProcessInfo的importance并与API提供的特定等级比较,选出等级高的部分获取包名,即可关闭掉进程。代码如下:首先要获取权限package com.jikexueyuan.onekeyspeedup;import and

2016-11-22 13:30:15 1054

原创 Android 简易指南针

通过Android的Sensor和动画效果,我们可以制作一个简单的指南针,不过测试和安装的手机必须要支持方向传感器。布局xml如下:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"

2016-11-22 13:04:55 901

原创 Android 百度地图简单使用

介绍一下百度地图的基本配置,首先自行注册百度开发者账号,创建一个应用。在Android工程的manifest文件中添加权限:在Application中添加:<meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="应用密钥" />

2016-11-22 11:23:27 227

原创 Android 屏幕常亮、低电量监听

Android保持屏幕常亮只需在manifest文件注册权限并使用PowerManager进行管理: import android.os.PowerManager;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;public class MainActivity extends App

2016-11-21 21:35:27 1379

原创 Android 注册系统组件并锁屏

Android实现锁屏功能只需要先注册成为系统组件,就可以简单实现。首先,注册一个继承自DeviceAdminReceiver的receiver:package com.jikexueyuan.lockscreen;import android.app.admin.DeviceAdminReceiver;import android.content.Context;import a

2016-11-21 18:06:57 340

原创 Android Property Animation 属性动画

在Android3.0之后推出了属性动画,属性动画比视图动画更高效。一般Android3.0是在平板上,手机上一般没有3.0,所以手机从4.0开始才支持属性动画。简单举一个旋转的例子,用代码来实现: findViewById(R.id.btnAnimateMe).setOnClickListener(new View.OnClickListener() {

2016-11-21 14:51:02 213

原创 Android View Animation 视图动画

在Android3.0之前,Android动画效果分为Tween Animation补间动画和Frame Animation逐帧动画(也有人称Drawable Animation),统称为视图动画。透明动画效果AlphaAnimation界面配置就是在点击按钮时触发效果,点击内的代码如下: AlphaAnimation animation

2016-11-21 11:37:55 255

原创 Android 简单图片浏览

视图界面很简单,主要就是AndroidManifest的配置。import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.widget.ImageView;import android.widget.Toast;public class ImageShowActivi

2016-11-20 13:17:53 396

原创 Android 短信接收

低API版本建立一个Receiver,并在AndroidManifest中注册,且添加获取短信的权限。 ...... import android.content.BroadcastReceiver;import android.content.Context

2016-11-19 23:46:35 379

原创 Android ContentProvider实现应用间数据共享

在Android 中如果想想要在应用间通信,我们可以使用隐式Intent,BroadcastReceiver,AIDL,ContentProvider。ContentProvider 是应用程序之间共享数据的接口。使用的时候首先自定义一个类继承ContentProvider,然后覆写query、insert、update、delete 等方法。ContentProvider 是四大组件之一

2016-11-19 23:08:29 445

原创 Android 通讯录

ContactsContract增删改查package com.zhang.contactdemo;import android.content.ContentProviderOperation;import android.content.ContentResolver;import android.content.ContentUris;import android.cont

2016-11-19 17:07:55 567

原创 Android AIDL代码实例

两个应用的aidl文件夹中的内容相同,包名为服务器的包名。IMyAidlInterface.aidl// IMyAidlInterface.aidlpackage com.zhang.aidldemo;import com.zhang.aidldemo.TimerCallback;interface IMyAidlInterface { void setData(S

2016-11-18 15:38:33 273

原创 Android Activity 启动模式

当应用运行Activity实例创建后会被放在一个线程的任务栈中,根据Activity的启动模式不同,被创建的实例会有区别,假设有A、B两个Activity,A为启动Activity,设定A的启动模式:standard(默认标准启动)打开应用,任务栈task中有一个A的实例a1,此时再从A-startActivity-A,会在task中创建一个新的实例a2,此时再从Aa2-startAc

2016-11-17 22:07:37 245

原创 Android常用控件

下拉列表代码如下:final String[] dataSource = new String[]{"Item 1", "Item 2", "Item 3"}; Spinner s = (Spinner) findViewById(R.id.spinner); s.setAdapter(new ArrayAdapter<>(this, and

2016-11-17 18:45:14 204

原创 Intent传递值对象 --- Serializable&Parcelable

Intent可以在Activity之间传递实现了Serializable和Parcelable接口的对象。Serializable在序列化时会产生大量临时变量,从而引起频繁的GC(Gabage Collection)。而且在使用内存时,Parcelable比Serializable性能高,说白了就是快,所以推荐使用Parcelable。但是Parcelable不能使用在要将数据存储在磁盘上的情况,

2016-11-17 17:56:55 227

原创 php mysql->mysqli

php连接数据库需要使用到mysql方法,但将在高版本逐渐弃用mysql的方法而使用mysqli。其实两者使用区别不大:mysql//连接数据库服务器$link = mysql_connect('localhost','root','');if ($link){ // echo '连接成功'; mysql_select_db('mydb',$lin

2016-11-16 15:02:02 224

原创 PhpStorm无法获取Post数据 配置

先给个代码add.html POST 请求 a: b: add.php<?phpif (isset($_POST['a']) && $_POST['a'] && isset($_POST['b']) && $_POST['b']) { echo $_POST['a'] + $_POST['b'];} else {

2016-11-15 00:29:11 2352 2

原创 Android Design Support Library 常用控件

Floating Action Button - 浮动圆形按钮在使用Android Design Support Library的时候需要在build.gradle里添加compile 'com.android.support:design:24.2.1' 后面数字随版本而定<android.support.design.widget.FloatingActionButto

2016-11-11 15:50:50 320

PullToRefresh

AndroidStudio直接可使用的开源库

2016-08-29

SlidingMenu

可直接放在AndroidStudio项目文件夹内,简单配置build.gradle(app)和settings.gradle即可使用。

2016-08-29

空空如也

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

TA关注的人

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