求助!!给100分,本人安卓纯新。

阿翔ax 2012-08-29 01:33:10
我使用webview编写了一个小程序,菜单的退出代码如下
public void showExitDialog()
{
AlertDialog.Builder localBuilder = new AlertDialog.Builder(this);
localBuilder.setTitle("南航贴吧");
localBuilder.setMessage("确认退出南航贴吧?");
localBuilder.setPositiveButton("确认", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface paramDialogInterface, int paramInt)
{
paramDialogInterface.dismiss();
Nuaaer.this.webView.stopLoading();
Nuaaer.this.webView.destroy();
Nuaaer.this.finish();
//android.os.Process.killProcess(android.os.Process.myPid());//A

}
});
localBuilder.setNegativeButton("取消", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface paramDialogInterface, int paramInt)
{
paramDialogInterface.dismiss();
}
});
localBuilder.create().show();}}


我调用结束进程A行,就会导致登录状态掉线,但是会保存用户名和密码,现在我想既能结束进程,又能在下次登录自动加载cookies。总而言之就是cookie 的加载问题。
...全文
178 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
映映 2012-08-30
  • 打赏
  • 举报
回复
SharedPreferenc的方法不会么?
/**
* 设置用户名,密码
* @param userName
* @param password
*/
public void SaveUserNameAndPassword(String userName,String password)
{
Editor sharedata = myContext.getSharedPreferences("data", 0).edit();
sharedata.putString("userName",userName);
sharedata.putString("password",password);
sharedata.commit();
}
/**
* 获取用户名
* @return
*/
public String getUserName()
{
SharedPreferences sharedata = myContext.getSharedPreferences("data", 0);
String userName = sharedata.getString("userName", "");
return userName;
}
/**
* 获取密码
* @return
*/
public String getPassword()
{
SharedPreferences sharedata = myContext.getSharedPreferences("data", 0);
String password = sharedata.getString("password", "");
return password;
}
阿翔ax 2012-08-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

其实你就是想在下次登录的时候直接进来而不需要再走一遍登录界面、是这个意思么?要是是的话、你就需要把你的用户名和密码保存下来、然后在下次进入应用界面之前先判断有没有用户名和密码、要是有的话、就直接调用登录界面里面点登录时候调用的那个方法就好了、剩下的工作、就可以顺上去了、、、用户名这些小数据用SharedPreferences保存就OK了、
[/Quote]
嗯,可是你说的我不会。。。。。
zxb6749 2012-08-29
  • 打赏
  • 举报
回复
其实你就是想在下次登录的时候直接进来而不需要再走一遍登录界面、是这个意思么?要是是的话、你就需要把你的用户名和密码保存下来、然后在下次进入应用界面之前先判断有没有用户名和密码、要是有的话、就直接调用登录界面里面点登录时候调用的那个方法就好了、剩下的工作、就可以顺上去了、、、用户名这些小数据用SharedPreferences保存就OK了、
阿翔ax 2012-08-29
  • 打赏
  • 举报
回复

package com.nuaa.nh;

import java.util.List;

import org.apache.http.cookie.Cookie;

import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.pm.PackageManager;
import android.util.Log;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.CookieManager;
import android.webkit.CookieSyncManager;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.view.Window;

public class Nuaaer extends Activity {
private WebView webView;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_nuaaer);
webView = (WebView) findViewById(R.id.webView1);
WebSettings ws = webView.getSettings();
ws.setSupportZoom(true);
ws.setJavaScriptEnabled(true);
webView.requestFocusFromTouch();
webView.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});

webView.setWebChromeClient(new WebChromeClient());
webView.loadUrl("http://wapp.baidu.com/f?kw=%E5%8D%97%E4%BA%AC%E8%88%AA%E7%A9%BA%E8%88%AA%E5%A4%A9%E5%A4%A7%E5%AD%A6&order=1&pn=0&rn=10&from=2001a&ssid=0&bd_page_type=1&vit=aladdin&uid=wiaui_1340814157_5775&ssid=0&from=2001a&uid=wiaui_1340814157_5775&pu=usm%400%2Csz%401320_1003&bd_page_type=1&tj=tieba_1_0_10_title");

}

public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {
webView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_nuaaer, menu);

return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem paramMenuItem) {
int i = paramMenuItem.getItemId();
AlertDialog.Builder localBuilder = new AlertDialog.Builder(this);
switch (i) {
default:
case 0x7f070001: {
localBuilder.setTitle("南航贴吧");
localBuilder.setMessage("名称:南航贴吧Android版\n1.00版本:");
localBuilder.setPositiveButton("确定",
new DialogInterface.OnClickListener() {
public void onClick(
DialogInterface paramDialogInterface,
int paramInt) {
paramDialogInterface.dismiss();
}
});
localBuilder.create().show();
}
return true;
case 0x7f070002:
showExitDialog();
return true;
}

}

public void showExitDialog() {
AlertDialog.Builder localBuilder = new AlertDialog.Builder(this);
localBuilder.setTitle("南航贴吧");
localBuilder.setMessage("确认退出南航贴吧?");
localBuilder.setPositiveButton("确认",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface paramDialogInterface,
int paramInt) {
paramDialogInterface.dismiss();
Nuaaer.this.webView.stopLoading();
Nuaaer.this.webView.destroy();
Nuaaer.this.finish();
//android.os.Process.killProcess(android.os.Process.myPid());

}
});
localBuilder.setNegativeButton("取消",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface paramDialogInterface,
int paramInt) {
paramDialogInterface.dismiss();
}
});
localBuilder.create().show();
}
}
全部代码都在这了。求高手啊!
阿翔ax 2012-08-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

登陆后用get_cookie获取有效Cookie并保存
下次需要时用InternetSetCookie恢复
[/Quote]

请问您能讲的具体一点吗?使用cookiemanager获取cookie吗?谢谢!
csdn_2013 2012-08-29
  • 打赏
  • 举报
回复
登陆后用get_cookie获取有效Cookie并保存
下次需要时用InternetSetCookie恢复

80,359

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧