最近開(kāi)始微信公眾平臺(tái)的搗鼓,但相信和很多新手一樣,遇到的第一件事就是如何配置url,主要是微信的80端口的蛋疼限制,我想這其中的流程應(yīng)該是這樣 的。我們?cè)谏暾?qǐng)測(cè)試帳號(hào)時(shí),微信需要指定一個(gè)URL和TOKEN,這樣微信就可以根據(jù)分配給你的APPID和SECRET來(lái)通過(guò)你提供的URL來(lái)認(rèn)證并且 通過(guò)這個(gè)接口返回你要的數(shù)據(jù),所以也就是我們的程序和微信是能過(guò)這個(gè)URL來(lái)完成交互的,根據(jù)這個(gè)思路,我們需要一個(gè)能讓微信訪(fǎng)問(wèn)到你項(xiàng)目的URL,至于 TOKEN可以任意填寫(xiě),用作生成簽名(該Token會(huì)和接口URL中包含的Token進(jìn)行比對(duì),從而驗(yàn)證安全性)。 在公司,首先應(yīng)當(dāng)解決的是怎么讓外網(wǎng)訪(fǎng)問(wèn)你的項(xiàng)目,我用的是JAVA語(yǔ)言來(lái)做開(kāi)發(fā),剛 開(kāi)始想通過(guò)3322動(dòng)態(tài)解析平臺(tái)讓外網(wǎng)映射到公司來(lái),然后用路由來(lái)做一個(gè)映射到我的tomcat 8080端口,但嘗試后發(fā)現(xiàn)3322這個(gè)是不能用80端口做映射(很多都這樣),所以沒(méi)辦法,也不能直接上公司的服務(wù)器來(lái)開(kāi)發(fā),而且80會(huì)被其他端口占 用,如果把項(xiàng)目托管到云服務(wù)器上也不方便開(kāi)發(fā),幸好在一個(gè)群里遇到高手,建議用ngrok直接把本地開(kāi)放給外網(wǎng)(大喜),下載后直接把這個(gè)解壓(我用的是ubuntu,所以下的linux版),在終端里運(yùn)行./ngrok 8080,這樣ngrok會(huì)返回一個(gè)動(dòng)態(tài)的URL,果然可以訪(fǎng)問(wèn)了,但問(wèn)題是我在微信里填寫(xiě)的這個(gè)URL不可能每次都變呀,于是運(yùn)行./ngrok -subdomain=test 8080,但這個(gè)需要注冊(cè)才可以用,于是去官網(wǎng)注冊(cè)。 再根據(jù)提示運(yùn)行一次驗(yàn)證,然后運(yùn)行這個(gè)就OK了,這樣我的URL就固定為http://test.ngrok.com。于是乎,我填寫(xiě)微信的URL為 http://test.ngrok.com/mywork/app/action/service(項(xiàng)目訪(fǎng)問(wèn)路徑), 打開(kāi)這tomcat,這樣不要做任何更改就可以讓外網(wǎng)訪(fǎng)問(wèn)了,然后點(diǎn)擊申請(qǐng)認(rèn)證,就可以看到微信平臺(tái)已經(jīng)訪(fǎng)問(wèn)到這我的項(xiàng)目了,接下來(lái)做一些驗(yàn)證(下篇貼出 驗(yàn)證代碼-java版),OK。這下可以看到配置成功了。至此結(jié)束,開(kāi)始微信之旅,這里感謝群里的老K,和其他的一些兄弟。
來(lái)源:
http://blog.csdn.net/aj1031689/article/details/17436125
//強(qiáng)制顯示軟銀盤(pán)
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
//edittext默認(rèn)焦點(diǎn)
scanbill.setFocusable(true);
scanbill.requestFocus();
scanbill.setFocusableInTouchMode(true);
第一步:在A類(lèi)中點(diǎn)擊按鈕時(shí)調(diào)用B類(lèi)
A類(lèi)中:
int OUTBILL_CODE = 10;//全局啊
case R.id.diyoutbill:
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setClass(ctx, Itemdiydown.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivityForResult(intent,OUTBILL_CODE);
break;
第二步:
B類(lèi)中:
Bundle bundle = new Bundle();
bundle.putString("downtype",pubdowntype);
bundle.putString("startDate",pubstartDate);
bundle.putString("endDate", pubendDate);
Itemdiydown.this.setResult(RESULT_OK, this.getIntent().putExtras(bundle));
Itemdiydown.this.finish();//關(guān)閉當(dāng)前窗口
第三類(lèi):
返回A類(lèi)中:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == OUTBILL_CODE&& resultCode == RESULT_OK) {//
Bundle bundle = data.getExtras();
startDate = bundle.getString("startDate");
endDate = bundle.getString("endDate");
downtype = bundle.getString("downtype");
//執(zhí)行事件
}
}
摘要: 轉(zhuǎn)自:http://blog.sina.com.cn/s/blog_4f1c99de0101hur1.html除了SQLite數(shù)據(jù)庫(kù)外,SharedPreferences也是一種輕型的數(shù)據(jù)存儲(chǔ)方式,它的本質(zhì)是基于XML文件存儲(chǔ)key-value鍵值對(duì)數(shù)據(jù),通常用來(lái)存儲(chǔ)一些簡(jiǎn)單的配置信息。其存儲(chǔ)位置在/data/data/<包名>/shared_prefs目錄下。SharedPrefer...
閱讀全文
java.util.Properties props = new java.util.Properties();
in = getClass().getResourceAsStream("/HotelBeContextDAO.properties");
try {
props.load(in);
props.getProperty("officeCode")
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
轉(zhuǎn)自:http://www.tuicool.com/articles/3mE7BzR
以jquery mobile為例
1.在android界面拖入一個(gè)webview,然后添加一個(gè)internet權(quán)限

<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<uses-permission android:name="android.permission.INTERNET"/>
<application
.............................
View Code
2. 在assets目錄里面放入js,css,html資源文件

3.在寫(xiě)本地html的時(shí)候引入assert里的對(duì)應(yīng)路徑

<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title> 標(biāo)題 </title>
<link rel="stylesheet" type="text/css" href="file:///android_asset/css/jquery.mobile-1.4.2.min.css">
<script src="file:///android_asset/js/jquery-1.7.1.min.js"></script>
<script src="file:///android_asset/js/jquery.mobile-1.4.2.min.js"></script>
</head>
<body>
<div data-role="page">
<div data-role="header">
<h1>My Title</h1>
</div>
<div data-role="content">
<ul data-role="listview" data-inset="true" >
<li><a href="#">Acura</a></li>
<li><a href="#">Audi</a></li>
<li><a href="#">BMW</a></li>
<li><a href="#">Cadillac</a></li>
<li><a href="#">Ferrari</a></li>
</ul>
</div>
</div>
</body>
</html>
View Code
4.在代碼里訪(fǎng)問(wèn)頁(yè)面

package com.example.asd_webview;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.webkit.WebSettings;
import android.webkit.WebSettings.RenderPriority;
import android.webkit.WebView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView webview = (WebView)findViewById(R.id.webView1);
WebSettings wv_setttig = webview.getSettings();
wv_setttig.setJavaScriptEnabled(true);
String url = "file:///android_asset/index.html";
webview.loadUrl(url);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
View Code
5.最后效果如下:
