自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 资源 (6)
  • 收藏
  • 关注

原创 Android之Volley框架使用优化--单例模式实现请求队列

1.将Volley框架请求队列的单例模式封装成SingleVolleyRequestQueue.java:public class SingleVolleyRequestQueue { //私有化属性 private static SingleVolleyRequestQueue singleQueue; private RequestQueue requestQueue;

2016-05-09 00:02:15 2266 1

原创 Android之开源框架Universal-Image-Loader简单示例

1.下载jar包并导入jar包链接:universal-image-loader-1.9.4.jar 导入jar包方法:AndroidStudio中导入jar包方法(超详细)2.编写工具类ImageLoaderUtil.javapublic class ImageLoaderUtil { private static DisplayImageOptions options=

2016-05-08 23:52:56 512

原创 Android之Volley框架加载网络图片的三种方式

1.第一种也是最常用的一种:ImageLoader public void imageLoader(String url,ImageView iv){ //ImageLoader的第一个参数就是RequestQueue:即Volley的请求队列 // ImageLoader的第二个参数是ImageCache:图片缓存,下面会将如何自定义缓存 Image

2016-05-08 23:18:28 2440

原创 AndroidStudio中导入module(超详细)

1.依次点击File–>new–>Import Module,如下图:2.在弹出窗口中选中需要导入的第三方资源中的library文件夹,并点击ok:3.在接下来的窗口将Module name修改为与Module相关的名称,并依次点击next–>finish:4.此时会跳出错误提示(不一定跟我的一样):我们双击导入Module文件夹下的build.gradle文件:同时打开本项目下的build.gra

2016-05-08 22:41:25 57311 2

原创 Android之使用GSON解析JSON数据

GSON简介:GSON是Google提供的用来在Java对象和JSON数据之间进行映射的Java类库。GSON可以很容易的将一串JSON数据转换为一个Java对象,或是将一个Java对象转换为相应的JSON数据。使用GSON解析JSON数据的基本步骤:1.导入jar包gson.jar可点击右侧获取获得:gson-2.2.4.jar jar包导入方法可参考我的另一篇博客:AndroidStudi

2016-05-08 18:49:30 3871

原创 AndroidStudio中导入jar包方法(超详细)

1.首先先去下载需要的jar包2.将jar包复制到Project下的app–>libs目录下(没有libs目录就新建一个)如下图所示位置:3.右键该jar包,选择add as library,弹出如下窗口:4.点击ok即可,变成下图所示就是导入成功:—————————我是分割线————————-或者还可以这么导入:1.首先先去下载需要的jar包2.将jar包复制到Project下的app–>libs

2016-05-08 18:36:50 62623 11

原创 Android-Volley框架中的get和post方式

2013年Google在 I/O大会上发布了Volley框架,它是Android平台上的开源网络通信库,封装了Http网络请求,异步任务,缓存,图片下载等功能。特点是能使网络通信更简单,更快速,更稳定。尤其适合处理数据量不大,但是网络通信频繁的场景。 使用StringRequest进行网络请求的实现过程如下:创建RequestQueue请求队列RequestQueue requestQueue

2016-05-05 15:21:04 923

原创 JSON数据解析(JSONArray和JSONObject)

1.JSONObject数据格式:{“名称”:“值”,“名称”:“值”,……}构造方法:JSONObject(String json),把json格式的字符串创建成一个JSONObject对象。 has(String name)方法:判断元素是否存在。get(String name)方法:获取元素的值。String json={“name”:”jereh”,”homePage”:”ww

2016-05-05 12:45:09 2860

原创 android中get方式和post方式提交数据到服务器的区别

1.请求的URL地址不同get: http://10.0.2.2:8080/HttpTest/index.jsp?option=getUser&uName=jerehedu post: http://10.0.2.2:8080/HttpTest/index.jsp2.post方式多了对请求头的设置 //设置一些请求头的信息 field:http请求的请求头 newValue:请

2016-05-04 23:52:43 3918

原创 下载APk,并在通知栏显示下载进度(两种方式)

1.布局文件布局很简单,写个点击下载的按钮就行<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:l

2016-05-04 11:27:08 9717 1

原创 隐式Intent调用

//拨打电话 bt1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Uri uri=Uri.parse("tel:1008611"); Inte

2016-05-03 23:28:37 443

原创 Android使用HttpURLConnection请求网络资源

1.打开服务器:打开C:\Program Files\apache-tomcat-6.0.37\bin\startup.bat, 浏览器输入http://localhost:8080测试服务器是否开启成功2.将常用的参数封装成一个类UrlManager.javapublic class UrlManager {//官方模拟器访问本地Web服务器使用IP 10.0.2.2//真机使用本机的IP地

2016-05-03 17:50:16 511

原创 AsyncTask 异步任务类的使用方法

异步任务类 AsyncTask 中的几个方法(其中doInBackground()是 必须要实现的):public class MyAnsy extends AsyncTask<Void,Void,Integer>{ //参数1 Params是指调用execute()方法时传入的参数类型和doInBackgound()的参数类型 //参数2 Progress是

2016-05-03 13:24:24 571

原创 Android应用使用ContentProvider共享数据

1.在当前应用新建一个MyContentProvider:Flie–>new–>other–>Content Provider,Class Name写MyContentProvider,URI Authority随便填个,我填的是com.jerehedu.ch08.mycontentprovider,点击确定即可。2.MyContentProvider.java里面代码如下:package com.

2016-04-29 15:57:25 660

原创 Android使用GreenDao连接数据库

安卓中对SQLite的操作,如果不借助工具类的话很容易出错,比如SQL语句不规范(少个空格是很经常的事),而借助一些工具类能很明显的提升编程效率。GreenDao是一个很好的开源工具。用法如下:1.在eclipse下新建一个java project,在项目中新建名为lib的package,在lib中导入两个jar包:freemarker.jar和greendao-generator-2.0.0.j

2016-04-28 15:51:49 1384

原创 列表和适配器(ListView和Adapter)

列表 布局文件里写:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width=

2016-04-06 00:24:04 850

原创 自定义标题栏

(首先,要先新建一个blank的Activity,因为要借助很多里面的toolbar的代码) res下新建一个menu文件夹,在里面新建一个toolbar_menu.xml,然后在里面可以添加item和group<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk

2016-04-06 00:20:59 325

原创 自定义Toast

1.自定义一个带图片带文字的消息提示框:在按钮上写监听方法,在方法中实现如下: public void customListener(View v){ //将静态的布局文件转换成view对象 View view = getLayoutInflater().inflate(R.layout.toast_layout, null); Toast toast

2016-04-04 22:05:55 417

原创 五种Button监听方式总结

本类监听 – 使Activity继承View.OnClickListener接口,实现其onClick方法,然后在setOnClickListener函数里面直接传this 外部类监听 –新建一个外部类,继承View.OnClickListener接口,实现其onClick方法,然后在setOnClickListener函数里面直接new一个新建的类 内部类监听 – 新建一个内部类,继承View

2016-03-29 21:16:32 3823 2

原创 AndroidStudio环境搭建流程

首先,先安装jdk,并且设计好环境变量。可以参考我之前的博客。(传送门:http://blog.csdn.net/ygd1994/article/details/50924045)然后,先下载Android Studio,可从以下几个地址中选择一个下载:l  官方地址:http://developer.android.com/sdk/installing/studio.htmll 

2016-03-28 13:25:45 685

原创 Android、java环境搭建流程

第一步,先下载dk-6u45-windows-x64.exe和adt-bundle-windows-x86_64-20131030.zip第二步,安装jdk,一直点下一步即可第三步,设置环境变量,即右键计算机,然后选择属性,在计算机名称、域和工作组设置一栏点击更改设置,在弹出窗口中选择高级,即可看到环境变量。在系统变量做如下修改:JAVA_HOME    改为C:\Program Fi

2016-03-18 15:39:31 489

dex2jar+jd-gui

源码文件获取和查看工具打包

2016-07-02

新版apktool

修复了之前由于apktool.jar版本过低而导致反编译失败的问题。集成了较新版本的apktool.jar,亲测当前可用。

2016-07-02

Android-Universal-Image-Loader-1.9.4.jar

Universal-Image-Loader是一个开源的UI组件程序,该项目的目的是提供一个可重复使用的仪器为异步图像加载,缓存和显示。功能十分强大。

2016-05-09

universal-image-loader-1.9.4.jar

2016-05-08

gson-2.2.4.jar

Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以将一个 JSON 字符串转成一个 Java 对象,或者反过来。

2016-05-08

实训项目:五子棋

#include<graphics.h> #include<conio.h> #include <mmsystem.h> #pragma comment(lib,"winmm.lib") void Beginning(); //开始图片 void Background(); //显示背景 void ShowPlate(); //显示棋盘 void PlayGame(); //玩游戏 void Judgewin(int,int); //判断输赢 void Blackwin(); //黑棋赢 void Whitewin(); //白棋赢 bool flag=true; //走棋顺序 int piece[16][16]; //棋子变量 int ti,tj; int f=1; void main() { for(int i=0;i<16;i++) for(int j=0;j<16;j++) piece[i][j]=0; //初始化棋子变量 initgraph(965,642); //设置窗口大小 mciSendString("play 2.mp3",0,0,0);//播放背景音乐 Background(); //显示背景 PlayGame(); //玩游戏 getch(); //保持窗口开着 } void Background() { IMAGE img; getimage(&img, "2.jpg"); putimage(0,0, &img); //设置背景图片 } void ShowPlate() { setfillstyle(RGB(213,176,146)); bar(270,30,730,490); //棋盘大小 for(int x=290,y=50;x<=710,y<=470;x+=30,y+=30) //画棋盘线 { setcolor(BLACK); line(x,50,x,470); line(290,y,710,y); } setfillstyle(BLACK); bar(284,44,286,476); bar(284,44,716,46); bar(714,44,716,476); bar(284,474,716,476);//棋盘线周围的一圈粗线 fillellipse(380,140,4,4); fillellipse(620,140,4,4); fillellipse(380,380,4,4); fillellipse(620,380,4,4); fillellipse(500,260,4,4);//棋盘的五个小黑点 setcolor(BLACK); setfillstyle(RGB(213,176,146)); bar3d(800,100,900,140,0,0); bar3d(800,200,900,240,0,0); bar3d(800,300,900,340,0,0); setfont(24,0,"华文行楷"); outtextxy(805,110,"重新开始");//重新开始 按钮 outtextxy(827,210,"悔棋");//悔棋按钮 outtextxy(827,310,"投降");//投降按钮 setcolor(RGB(213,176,146)); setfillstyle(WHITE); fillellipse(820,28,20,20); setcolor(RGB(213,176,146)); setfillstyle(BLACK); fillellipse(880,28,20,20); for(int i=0;i<15;i++) { for(int j=0;j<15;j++) { if(piece[i][j]==-1) { setcolor(WHITE); setfillstyle(WHITE); fillellipse(290+j*30,50+i*30,12,12); } else if(piece[i][j]==1) { setcolor(BLACK); setfillstyle(BLACK); fillellipse(290+j*30,50+i*30,12,12); } } } } void PlayGame() { int h=0; int y=0; int Y; int ti=0,tj=0; while(f) { MOUSEMSG msg=GetMouseMsg(); //得到鼠标输入 while(msg.uMsg==WM_LBUTTONUP) { h++; if(h==1) { ShowPlate(); } else break; } if(h>2) { int a,b,c,d; a=(msg.x-290)%30; b=(msg.y-50)%30; c=(msg.x-290)/30+a/15;//落子点的横坐标 d=(msg.y-50)/30+b/15;//落子点的纵坐标 if(msg.x>800&&msg.x<840&&msg.y>8&&msg.y<48&&y==0) flag=false; else if(msg.x>860&&msg.x<900&&msg.y>8&&msg.y<48&&y==0) flag=true; if(a==15||b==15) //判断是否在两格中间 continue; if(msg.uMsg==WM_LBUTTONUP&&piece[d][c]==0&&(c>=0&&c<15&&d>=0&&d<15)) //判断是否在棋盘内且无棋子 { mciSendString("play 3.mp3",0,0,0); if(flag==true) { piece[d][c]=1; setcolor(BLACK); setfillstyle(BLACK); fillellipse(290+c*30,50+d*30,12,12); flag=false; ti=d; tj=c; y++; } else { piece[d][c]=-1; setcolor(WHITE); setfillstyle(WHITE); fillellipse(290+c*30,50+d*30,12,12); flag=true; ti=d; tj=c; y++; } } Judgewin(c,d); if(msg.uMsg==WM_LBUTTONUP) if((msg.x>=800&&msg.x<=900)&&(msg.y>=300&&msg.y<=340)) //投降 { if(flag==true) Whitewin(); else Blackwin(); } if(msg.uMsg==WM_LBUTTONUP) if((msg.x>=800&&msg.x<=900)&&(msg.y>=100&&msg.y<=140)) //中途重新开始 { y=0; for (c=0;c<16;c++) { for (d=0;d<16;d++) { piece[c][d]=0; } } ShowPlate(); } if(msg.uMsg==WM_LBUTTONUP) { if ((msg.x>=800&&msg.x<=900)&&(msg.y>=200&&msg.y<=240)&&(Y!=y)) //悔棋 { Y=y; if(flag==true) flag=false; else flag=true; piece[ti][tj]=0; ShowPlate(); } } } while(!f) //结束后重新开始 { MOUSEMSG msg=GetMouseMsg(); if(msg.uMsg==WM_LBUTTONUP) if((msg.x>=800&&msg.x<=900)&&(msg.y>=100&&msg.y<=140)) { for (int c1=0;c1<16;c1++) { for (int d1=0;d1<16;d1++) { piece[c1][d1]=0; } } ShowPlate(); f=1; PlayGame(); } } } } void Judgewin(int c,int d) { for(int i=0;i<15;i++)//判断是否五子连珠——横向 { int s=0; for(int j=i;j<i+5;j++) { s=s+piece[d][j]; if(s==5) Blackwin(); if(s==-5) Whitewin(); } } for(int m=0;m<15;m++)//判断是否五子连珠——纵向 { int s=0; for(int n=m;n<m+5;n++) { s=s+piece[n][c]; if(s==5) Blackwin(); if(s==-5) Whitewin(); } } for(int p=d-5,q=c-5;p<15;p++,q++)//判断是否五子连珠——左上到右下 { int s=0; for(int t=0;t<5;t++) { s=s+piece[p+t][q+t]; if(s==5) Blackwin(); if(s==-5) Whitewin(); } } for(int P=d+5,Q=c-5;Q<15;P--,Q++)//判断是否五子连珠——左下到右上 { int s=0; for(int t=0;t<5;t++) { s=s+piece[P-t][Q+t]; if(s==5) Blackwin(); if(s==-5) Whitewin(); } } } void Blackwin() { setcolor(WHITE); setfillstyle(BLACK); fillellipse(500,260,70,30); outtextxy(470,250,"黑子赢"); f=0; mciSendString("play 4.mp3",0,0,0); } void Whitewin() { setcolor(BLACK); setfillstyle(WHITE); fillellipse(500,260,70,30); outtextxy(470,250,"白子赢"); f=0; mciSendString("play 4.mp3",0,0,0); }

2013-07-27

空空如也

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

TA关注的人

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