真正意义上第一个APP 可以用的 老黄历~~~
来源:互联网 发布:服务器php环境配置 编辑:程序博客网 时间:2024/04/29 07:34
说句实话 自学真的很累 学习真的很累 而且需要坚持不懈不断地学习 更累
有时候自己的压力很大 但是想一想在公司做的事情又觉得改变是必须的
如果我花很多年在现在做的事情上 等我老了 我想我会后悔的
并不是趁着年轻所以才改变 我想如果是为了自己的未来 为了自己未来能过做自己喜欢的事情
改变就是必须了~
说了一堆感性的话 回归本题 还是show出我可爱的代码~~~
唉唉唉 现在竟然觉得用代码说话比和人说话要来的轻松
我是肿么了~~~
加油少年
package com.imooc.admin.lunarcalendar;
import android.app.Activity;
import android.content.Intent;
import android.content.res.AssetManager;
import android.graphics.Typeface;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.widget.TextView;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Calendar;
/**
* Created by admin on 2016/4/4.
*/
public class OpenLoading extends Activity {
private TextView openText,coupletUp,coupletDown,myText;
final Calendar c = Calendar.getInstance();
int mainYear =c.get(Calendar.YEAR);//获取当前年份
int mainMonth =c.get(Calendar.MONTH);//获取当前的月份
int mainday =c.get(Calendar.DAY_OF_MONTH);//获取当前月份的日期号码;
boolean open =true;
String dateString = mainYear + "-" + (mainMonth +1) + "-" + mainday;//当前日期的需求字符串形式
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//加载欢迎页面
setContentView(R.layout.login_layout);
openText = (TextView) findViewById(R.id.open_text);
coupletUp= (TextView) findViewById(R.id.textView1);
coupletDown= (TextView) findViewById(R.id.textView2);
myText= (TextView) findViewById(R.id.textView3);
AssetManager mgr = getAssets();//得到AssetManager
Typeface tf = Typeface.createFromAsset(mgr,"font/open.ttf");//根据路径得到Typeface
openText.setTypeface(tf);
coupletUp.setTypeface(tf);
coupletDown.setTypeface(tf);
myText.setTypeface(tf);
OpenWithHttpConnection(dateString);
}
Handler mhandler = new Handler() {
@Override
public void handleMessage(Message msg) {
if (msg.what ==308040) {
Log.d("MainActivity","已接收");
String[] getdataOpen = (String[]) msg.obj;
if (open) {
open = false;
Intent intent = new Intent(OpenLoading.this, MainActivity.class);
Bundle bundle = new Bundle();
bundle.putStringArray("dateString_fromOpen", getdataOpen);
intent.putExtras(bundle);
startActivity(intent);
finish();
}
}
}
};
//appkey:92530afe8465b7f2d316a6c21ac614b7
private void OpenWithHttpConnection(final String dateString) {
new Thread(new Runnable() {
@Override
public void run() {
try {
URL url = new URL("http://v.juhe.cn/laohuangli/d?date=" +dateString + "&key=92530afe8465b7f2d316a6c21ac614b7");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(8000);
connection.setReadTimeout(8000);
InputStream in = connection.getInputStream();
//对获取到的输入流进行读取
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder response = new StringBuilder();
String line;
while ((line = reader.readLine()) !=null) {
response.append(line);
}
/*
截止到以上在 线程中获得了 返回的JSON信息response
使用时记得使用response.toString()
*/
//在另一个方法中开启新线程中处理获得的JOSN数据
handeleJOSN(response.toString());
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
/*
下面的方法中处理接收到的JSON数据
JSON返回示例:
{
"reason": "successed",
"result": {
"id": "1657",
"yangli": "2014-09-11",
"yinli": "甲午(马)年八月十八",
"wuxing": "井泉水 建执位",
"chongsha": "冲兔(己卯)煞东",
"baiji": "乙不栽植千株不长 酉不宴客醉坐颠狂",
"jishen": "官日 六仪 益後 月德合 除神 玉堂 鸣犬",
"yi": "祭祀 出行 扫舍 馀事勿取",
"xiongshen": "月建 小时 土府 月刑 厌对 招摇 五离",
"ji": "诸事不宜"
},
"error_code": 0
}
*/
private void handeleJOSN(String s) {
try {
JSONObject getData = new JSONObject(s);
String result = getData.getString("result");
JSONObject data = new JSONObject(result);
String yangli = data.getString("yangli");
String yinli = data.getString("yinli");
String wuxing = data.getString("wuxing");
String chongsha = data.getString("chongsha");
String baiji = data.getString("baiji");
String jishen = data.getString("jishen");
String yi = data.getString("yi");
String xiongshen = data.getString("xiongshen");
String ji = data.getString("ji");
Log.d("MainActivity", yangli);
Log.d("MainActivity", yinli);
Log.d("MainActivity", wuxing);
//把所有数据装载在一个数组里
String[] allDate = {yinli, wuxing, chongsha, baiji, jishen, yi, xiongshen, ji};
//然后把数组装载在message中传回去
Message messageOpen = new Message();
messageOpen.what = 308040;
messageOpen.obj = allDate;
mhandler.sendMessageDelayed(messageOpen,2000);
Log.d("MainActivity","已发送");
} catch (JSONException e) {
e.printStackTrace();
}
}
}
import android.app.Activity;
import android.content.Intent;
import android.content.res.AssetManager;
import android.graphics.Typeface;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.widget.TextView;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Calendar;
/**
* Created by admin on 2016/4/4.
*/
public class OpenLoading extends Activity {
private TextView openText,coupletUp,coupletDown,myText;
final Calendar c = Calendar.getInstance();
int mainYear =c.get(Calendar.YEAR);//获取当前年份
int mainMonth =c.get(Calendar.MONTH);//获取当前的月份
int mainday =c.get(Calendar.DAY_OF_MONTH);//获取当前月份的日期号码;
boolean open =true;
String dateString = mainYear + "-" + (mainMonth +1) + "-" + mainday;//当前日期的需求字符串形式
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//加载欢迎页面
setContentView(R.layout.login_layout);
openText = (TextView) findViewById(R.id.open_text);
coupletUp= (TextView) findViewById(R.id.textView1);
coupletDown= (TextView) findViewById(R.id.textView2);
myText= (TextView) findViewById(R.id.textView3);
AssetManager mgr = getAssets();//得到AssetManager
Typeface tf = Typeface.createFromAsset(mgr,"font/open.ttf");//根据路径得到Typeface
openText.setTypeface(tf);
coupletUp.setTypeface(tf);
coupletDown.setTypeface(tf);
myText.setTypeface(tf);
OpenWithHttpConnection(dateString);
}
Handler mhandler = new Handler() {
@Override
public void handleMessage(Message msg) {
if (msg.what ==308040) {
Log.d("MainActivity","已接收");
String[] getdataOpen = (String[]) msg.obj;
if (open) {
open = false;
Intent intent = new Intent(OpenLoading.this, MainActivity.class);
Bundle bundle = new Bundle();
bundle.putStringArray("dateString_fromOpen", getdataOpen);
intent.putExtras(bundle);
startActivity(intent);
finish();
}
}
}
};
//appkey:92530afe8465b7f2d316a6c21ac614b7
private void OpenWithHttpConnection(final String dateString) {
new Thread(new Runnable() {
@Override
public void run() {
try {
URL url = new URL("http://v.juhe.cn/laohuangli/d?date=" +dateString + "&key=92530afe8465b7f2d316a6c21ac614b7");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(8000);
connection.setReadTimeout(8000);
InputStream in = connection.getInputStream();
//对获取到的输入流进行读取
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder response = new StringBuilder();
String line;
while ((line = reader.readLine()) !=null) {
response.append(line);
}
/*
截止到以上在 线程中获得了 返回的JSON信息response
使用时记得使用response.toString()
*/
//在另一个方法中开启新线程中处理获得的JOSN数据
handeleJOSN(response.toString());
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
/*
下面的方法中处理接收到的JSON数据
JSON返回示例:
{
"reason": "successed",
"result": {
"id": "1657",
"yangli": "2014-09-11",
"yinli": "甲午(马)年八月十八",
"wuxing": "井泉水 建执位",
"chongsha": "冲兔(己卯)煞东",
"baiji": "乙不栽植千株不长 酉不宴客醉坐颠狂",
"jishen": "官日 六仪 益後 月德合 除神 玉堂 鸣犬",
"yi": "祭祀 出行 扫舍 馀事勿取",
"xiongshen": "月建 小时 土府 月刑 厌对 招摇 五离",
"ji": "诸事不宜"
},
"error_code": 0
}
*/
private void handeleJOSN(String s) {
try {
JSONObject getData = new JSONObject(s);
String result = getData.getString("result");
JSONObject data = new JSONObject(result);
String yangli = data.getString("yangli");
String yinli = data.getString("yinli");
String wuxing = data.getString("wuxing");
String chongsha = data.getString("chongsha");
String baiji = data.getString("baiji");
String jishen = data.getString("jishen");
String yi = data.getString("yi");
String xiongshen = data.getString("xiongshen");
String ji = data.getString("ji");
Log.d("MainActivity", yangli);
Log.d("MainActivity", yinli);
Log.d("MainActivity", wuxing);
//把所有数据装载在一个数组里
String[] allDate = {yinli, wuxing, chongsha, baiji, jishen, yi, xiongshen, ji};
//然后把数组装载在message中传回去
Message messageOpen = new Message();
messageOpen.what = 308040;
messageOpen.obj = allDate;
mhandler.sendMessageDelayed(messageOpen,2000);
Log.d("MainActivity","已发送");
} catch (JSONException e) {
e.printStackTrace();
}
}
}
package com.imooc.admin.lunarcalendar;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.content.res.AssetManager;
import android.graphics.Typeface;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.Window;
import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.Toast;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Calendar;
import java.util.Timer;
import java.util.TimerTask;
public class MainActivity extends Activity {
private TextView date, text_yinli, text_wuxing, text_chongsha,
text_baiji, text_jishen, text_yi, text_xiongshen, text_ji,
baiji_title, jishen_title, yi_title, xiongshen_title, ji_title;
final Calendar c = Calendar.getInstance();
int mainYear = c.get(Calendar.YEAR);//获取当前年份
int mainMonth = c.get(Calendar.MONTH);//获取当前的月份
int mainday = c.get(Calendar.DAY_OF_MONTH);//获取当前月份的日期号码 ;
boolean first = true;
String dateString = mainYear + "-" + mainMonth + "-" + mainday;//当前日期的需求字符串形式
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 12345:
String[] getData = (String[]) msg.obj;
text_yinli.setText("阴历" + getData[0]);
text_wuxing.setText("五行: " + getData[1]);
text_chongsha.setText("冲煞: " + getData[2]);
text_baiji.setText(getData[3]);
text_jishen.setText(getData[4]);
text_yi.setText(getData[5]);
text_xiongshen.setText(getData[6]);
text_ji.setText(getData[7]);
break;
case 54321:
String[] getData0 = (String[]) msg.obj;
text_yinli.setText("阴历"+getData0[0]);
text_wuxing.setText("五行: " + getData0[1]);
text_chongsha.setText("冲煞: " + getData0[2]);
text_baiji.setText(getData0[3]);
text_jishen.setText(getData0[4]);
text_yi.setText(getData0[5]);
text_xiongshen.setText(getData0[6]);
text_ji.setText(getData0[7]);
break;
default:
break;
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
AssetManager mgr = getAssets();//得到AssetManager
Typeface tf = Typeface.createFromAsset(mgr, "font/open.ttf");//根据路径得到Typeface
Typeface tf2 = Typeface.createFromAsset(mgr, "font/aaa.ttf");
if (first) {
Log.d("MainActivity", "已接收2");
first = false;
Bundle bundle = this.getIntent().getExtras();
String[] getFromOpen = bundle.getStringArray("dateString_fromOpen");
Message messageGetFromOpen = new Message();
messageGetFromOpen.what = 54321;
messageGetFromOpen.obj = getFromOpen;
handler.sendMessage(messageGetFromOpen);
}
date = (TextView) findViewById(R.id.date);
text_yinli = (TextView) findViewById(R.id.yinli);
text_wuxing = (TextView) findViewById(R.id.wuxing);
text_chongsha = (TextView) findViewById(R.id.chongsha);
text_baiji = (TextView) findViewById(R.id.baiji);
text_jishen = (TextView) findViewById(R.id.jishen);
text_yi = (TextView) findViewById(R.id.yi);
text_xiongshen = (TextView) findViewById(R.id.xiongshen);
text_ji = (TextView) findViewById(R.id.ji);
baiji_title = (TextView) findViewById(R.id.baiji_title);
jishen_title = (TextView) findViewById(R.id.jishen_title);
yi_title = (TextView) findViewById(R.id.yi_title);
xiongshen_title = (TextView) findViewById(R.id.xiongshen_title);
ji_title = (TextView) findViewById(R.id.ji_title);
date.setTypeface(tf2);
text_yinli.setTypeface(tf2);
text_wuxing.setTypeface(tf2);
text_chongsha.setTypeface(tf2);
text_baiji.setTypeface(tf2);
text_jishen.setTypeface(tf2);
text_yi.setTypeface(tf2);
text_xiongshen.setTypeface(tf2);
text_ji.setTypeface(tf2);
baiji_title.setTypeface(tf2);
jishen_title.setTypeface(tf2);
yi_title.setTypeface(tf2);
xiongshen_title.setTypeface(tf2);
ji_title.setTypeface(tf2);
date.setTypeface(tf);
date.setText(dateString);
}
// 日期选择对话框的 DateSet 事件监听器
private DatePickerDialog.OnDateSetListener listener = new DatePickerDialog.OnDateSetListener() { //
@Override
public void onDateSet(DatePicker arg0, int selectYear, int selectMonth, int selectDay) {
dateString = selectYear + "-" + (selectMonth + 1) + "-" + selectDay;
date.setText(dateString);
OpenWithHttpConnection(dateString);
}
};
//appkey:92530afe8465b7f2d316a6c21ac614b7
private void OpenWithHttpConnection(final String dateString) {
new Thread(new Runnable() {
@Override
public void run() {
try {
URL url = new URL("http://v.juhe.cn/laohuangli/d?date=" + dateString + "&key=92530afe8465b7f2d316a6c21ac614b7");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(8000);
connection.setReadTimeout(8000);
InputStream in = connection.getInputStream();
//对获取到的输入流进行读取
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder response = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
response.append(line);
}
/*
截止到以上在 线程中获得了 返回的JSON信息 response
使用时记得使用response.toString()
*/
//在另一个方法中开启新线程中处理获得的JOSN数据
handeleJOSN(response.toString());
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
/*
下面的方法中处理接收到的JSON数据
JSON返回示例:
{
"reason": "successed",
"result": {
"id": "1657",
"yangli": "2014-09-11",
"yinli": "甲午(马)年八月十八",
"wuxing": "井泉水 建执位",
"chongsha": "冲兔(己卯)煞东",
"baiji": "乙不栽植千株不长 酉不宴客醉坐颠狂",
"jishen": "官日 六仪 益後 月德合 除神 玉堂 鸣犬",
"yi": "祭祀 出行 扫舍 馀事勿取",
"xiongshen": "月建 小时 土府 月刑 厌对 招摇 五离",
"ji": "诸事不宜"
},
"error_code": 0
}
*/
private void handeleJOSN(String s) {
try {
JSONObject getData = new JSONObject(s);
String result = getData.getString("result");
JSONObject data = new JSONObject(result);
String yangli = data.getString("yangli");
String yinli = data.getString("yinli");
String wuxing = data.getString("wuxing");
String chongsha = data.getString("chongsha");
String baiji = data.getString("baiji");
String jishen = data.getString("jishen");
String yi = data.getString("yi");
String xiongshen = data.getString("xiongshen");
String ji = data.getString("ji");
Log.d("MainActivity", yangli);
Log.d("MainActivity", yinli);
Log.d("MainActivity", wuxing);
//把所有数据装载在一个数组里
String[] allDate = {yinli, wuxing, chongsha, baiji, jishen, yi, xiongshen, ji};
//然后把数组装载在message中传回去
Message message = new Message();
message.what = 12345;
message.obj = allDate;
handler.sendMessage(message);
} catch (JSONException e) {
e.printStackTrace();
}
}
//选择日期按键的触发事件:显示一个DatePickerDialog
public void dateClick(View view) {
switch (view.getId()) {
case R.id.date:
DatePickerDialog datePickerDialog = new DatePickerDialog(MainActivity.this, listener,
mainYear, mainMonth, mainday);
datePickerDialog.show();
break;
default:
break;
}
}
/**
* 菜单、返回键响应
*/
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if(keyCode == KeyEvent.KEYCODE_BACK)
{
exitBy2Click(); //调用双击退出函数
}
return false;
}
/**
* 双击退出函数
*/
private static Boolean isExit = false;
private void exitBy2Click() {
Timer tExit = null;
if (isExit == false) {
isExit = true; // 准备退出
Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
tExit = new Timer();
tExit.schedule(new TimerTask() {
@Override
public void run() {
isExit = false; // 取消退出
}
}, 2500); // 如果2.5秒钟内没有按下返回键,则启动定时器取消掉刚才执行的任务
} else {
finish();
System.exit(0);
}
}
}
import android.app.Activity;
import android.app.DatePickerDialog;
import android.content.res.AssetManager;
import android.graphics.Typeface;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.Window;
import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.Toast;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Calendar;
import java.util.Timer;
import java.util.TimerTask;
public class MainActivity extends Activity {
private TextView date, text_yinli, text_wuxing, text_chongsha,
text_baiji, text_jishen, text_yi, text_xiongshen, text_ji,
baiji_title, jishen_title, yi_title, xiongshen_title, ji_title;
final Calendar c = Calendar.getInstance();
int mainYear = c.get(Calendar.YEAR);//获取当前年份
int mainMonth = c.get(Calendar.MONTH);//获取当前的月份
int mainday = c.get(Calendar.DAY_OF_MONTH);//获取当前月份的日期号码 ;
boolean first = true;
String dateString = mainYear + "-" + mainMonth + "-" + mainday;//当前日期的需求字符串形式
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 12345:
String[] getData = (String[]) msg.obj;
text_yinli.setText("阴历" + getData[0]);
text_wuxing.setText("五行: " + getData[1]);
text_chongsha.setText("冲煞: " + getData[2]);
text_baiji.setText(getData[3]);
text_jishen.setText(getData[4]);
text_yi.setText(getData[5]);
text_xiongshen.setText(getData[6]);
text_ji.setText(getData[7]);
break;
case 54321:
String[] getData0 = (String[]) msg.obj;
text_yinli.setText("阴历"+getData0[0]);
text_wuxing.setText("五行: " + getData0[1]);
text_chongsha.setText("冲煞: " + getData0[2]);
text_baiji.setText(getData0[3]);
text_jishen.setText(getData0[4]);
text_yi.setText(getData0[5]);
text_xiongshen.setText(getData0[6]);
text_ji.setText(getData0[7]);
break;
default:
break;
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
AssetManager mgr = getAssets();//得到AssetManager
Typeface tf = Typeface.createFromAsset(mgr, "font/open.ttf");//根据路径得到Typeface
Typeface tf2 = Typeface.createFromAsset(mgr, "font/aaa.ttf");
if (first) {
Log.d("MainActivity", "已接收2");
first = false;
Bundle bundle = this.getIntent().getExtras();
String[] getFromOpen = bundle.getStringArray("dateString_fromOpen");
Message messageGetFromOpen = new Message();
messageGetFromOpen.what = 54321;
messageGetFromOpen.obj = getFromOpen;
handler.sendMessage(messageGetFromOpen);
}
date = (TextView) findViewById(R.id.date);
text_yinli = (TextView) findViewById(R.id.yinli);
text_wuxing = (TextView) findViewById(R.id.wuxing);
text_chongsha = (TextView) findViewById(R.id.chongsha);
text_baiji = (TextView) findViewById(R.id.baiji);
text_jishen = (TextView) findViewById(R.id.jishen);
text_yi = (TextView) findViewById(R.id.yi);
text_xiongshen = (TextView) findViewById(R.id.xiongshen);
text_ji = (TextView) findViewById(R.id.ji);
baiji_title = (TextView) findViewById(R.id.baiji_title);
jishen_title = (TextView) findViewById(R.id.jishen_title);
yi_title = (TextView) findViewById(R.id.yi_title);
xiongshen_title = (TextView) findViewById(R.id.xiongshen_title);
ji_title = (TextView) findViewById(R.id.ji_title);
date.setTypeface(tf2);
text_yinli.setTypeface(tf2);
text_wuxing.setTypeface(tf2);
text_chongsha.setTypeface(tf2);
text_baiji.setTypeface(tf2);
text_jishen.setTypeface(tf2);
text_yi.setTypeface(tf2);
text_xiongshen.setTypeface(tf2);
text_ji.setTypeface(tf2);
baiji_title.setTypeface(tf2);
jishen_title.setTypeface(tf2);
yi_title.setTypeface(tf2);
xiongshen_title.setTypeface(tf2);
ji_title.setTypeface(tf2);
date.setTypeface(tf);
date.setText(dateString);
}
// 日期选择对话框的 DateSet 事件监听器
private DatePickerDialog.OnDateSetListener listener = new DatePickerDialog.OnDateSetListener() { //
@Override
public void onDateSet(DatePicker arg0, int selectYear, int selectMonth, int selectDay) {
dateString = selectYear + "-" + (selectMonth + 1) + "-" + selectDay;
date.setText(dateString);
OpenWithHttpConnection(dateString);
}
};
//appkey:92530afe8465b7f2d316a6c21ac614b7
private void OpenWithHttpConnection(final String dateString) {
new Thread(new Runnable() {
@Override
public void run() {
try {
URL url = new URL("http://v.juhe.cn/laohuangli/d?date=" + dateString + "&key=92530afe8465b7f2d316a6c21ac614b7");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(8000);
connection.setReadTimeout(8000);
InputStream in = connection.getInputStream();
//对获取到的输入流进行读取
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder response = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
response.append(line);
}
/*
截止到以上在 线程中获得了 返回的JSON信息 response
使用时记得使用response.toString()
*/
//在另一个方法中开启新线程中处理获得的JOSN数据
handeleJOSN(response.toString());
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
/*
下面的方法中处理接收到的JSON数据
JSON返回示例:
{
"reason": "successed",
"result": {
"id": "1657",
"yangli": "2014-09-11",
"yinli": "甲午(马)年八月十八",
"wuxing": "井泉水 建执位",
"chongsha": "冲兔(己卯)煞东",
"baiji": "乙不栽植千株不长 酉不宴客醉坐颠狂",
"jishen": "官日 六仪 益後 月德合 除神 玉堂 鸣犬",
"yi": "祭祀 出行 扫舍 馀事勿取",
"xiongshen": "月建 小时 土府 月刑 厌对 招摇 五离",
"ji": "诸事不宜"
},
"error_code": 0
}
*/
private void handeleJOSN(String s) {
try {
JSONObject getData = new JSONObject(s);
String result = getData.getString("result");
JSONObject data = new JSONObject(result);
String yangli = data.getString("yangli");
String yinli = data.getString("yinli");
String wuxing = data.getString("wuxing");
String chongsha = data.getString("chongsha");
String baiji = data.getString("baiji");
String jishen = data.getString("jishen");
String yi = data.getString("yi");
String xiongshen = data.getString("xiongshen");
String ji = data.getString("ji");
Log.d("MainActivity", yangli);
Log.d("MainActivity", yinli);
Log.d("MainActivity", wuxing);
//把所有数据装载在一个数组里
String[] allDate = {yinli, wuxing, chongsha, baiji, jishen, yi, xiongshen, ji};
//然后把数组装载在message中传回去
Message message = new Message();
message.what = 12345;
message.obj = allDate;
handler.sendMessage(message);
} catch (JSONException e) {
e.printStackTrace();
}
}
//选择日期按键的触发事件:显示一个DatePickerDialog
public void dateClick(View view) {
switch (view.getId()) {
case R.id.date:
DatePickerDialog datePickerDialog = new DatePickerDialog(MainActivity.this, listener,
mainYear, mainMonth, mainday);
datePickerDialog.show();
break;
default:
break;
}
}
/**
* 菜单、返回键响应
*/
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if(keyCode == KeyEvent.KEYCODE_BACK)
{
exitBy2Click(); //调用双击退出函数
}
return false;
}
/**
* 双击退出函数
*/
private static Boolean isExit = false;
private void exitBy2Click() {
Timer tExit = null;
if (isExit == false) {
isExit = true; // 准备退出
Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
tExit = new Timer();
tExit.schedule(new TimerTask() {
@Override
public void run() {
isExit = false; // 取消退出
}
}, 2500); // 如果2.5秒钟内没有按下返回键,则启动定时器取消掉刚才执行的任务
} else {
finish();
System.exit(0);
}
}
}
0 0
- 真正意义上第一个APP 可以用的 老黄历~~~
- 自己第一个真正意义上的C++程序
- 代码清单1-1 我们第一个真正意义上的程序
- Payments:这个产品才是真正意义上的第一个VR支付产品
- 中国第一起真正意义上的blog招聘
- 安卓学习第5天:真正意义上的第一个安卓程序
- “千年老二”搜狐:从没有真正意义上成为第一
- 实现真正意义上的文件类型判断
- 真正意义上的产品经理
- 一种真正意义上的Session劫持
- 一种真正意义上的Session劫持
- 这才是真正意义上的“扶手”
- 真正意义上的“随机”---c语言
- csdn真正意义上的第一天
- 真正意义上的响应式表格
- 真正意义上的编程第一天
- 真正意义上的前端开发
- python pygame做成的第一个真的意义上的游戏!
- android_ListView的操作
- 是时候复习一下Java基础了(三)
- Execution failed for task ':app:mergeDebugResources'. > Some file crunching failed, see logs for det
- 【图】最短路径Bellman-Ford算法
- background-position和雪碧图(CSS Sprites)用法
- 真正意义上第一个APP 可以用的 老黄历~~~
- C++二进制兼容问题及解决方法
- grafana图形化数据展示软件介绍
- 控制器转场动画自定义(1):push/pop的实现
- LeetCode[238]Product of Array Except Self
- Shell脚本学习之sed详解
- [转] 汉语骂人最高境界!(爆笑)
- bzoj 1095
- Android 学习笔记(4)—— ToggleButton 、Switch