我最近一直在努力研究PHP,我发现自己陷入了特质.我理解水平代码重用的概念,而不是必须从抽象类继承.我不明白的是,使用特征与接口之间的关键区别是什么?
我已经尝试过寻找一个体面的博客文章或解释何时使用其中一个的文章,但到目前为止我发现的例子看起来非常相似.
那里的任何人都可以就此分享他们的意见/观点吗?
好的,我有一个Android应用程序,里面有一个表单,两个EditText,一个微调器和一个登录按钮.用户从微调器中选择服务,键入其用户名和密码,然后单击登录.数据通过POST发送,返回响应,处理,启动新的WebView,加载响应生成的html字符串,并拥有用户选择的任何服务的主页.
这一切都很好.现在,当用户点击链接时,无法找到登录信息,并且该页面要求用户再次登录.我的登录会话正在某个地方被删除,我不确定如何将控制应用程序主要部分的类中的信息传递给刚刚启动webview活动的类.
表单登录按钮中的onClick处理程序:
private class FormOnClickListener implements View.OnClickListener {
public void onClick(View v) {
String actionURL, user, pwd, user_field, pwd_field;
actionURL = "thePageURL";
user_field = "username"; //this changes based on selections in a spinner
pwd_field = "password"; //this changes based on selections in a spinner
user = "theUserLogin";
pwd = "theUserPassword";
List<NameValuePair> myList = new ArrayList<NameValuePair>();
myList.add(new BasicNameValuePair(user_field, user));
myList.add(new BasicNameValuePair(pwd_field, pwd));
HttpParams params = new BasicHttpParams();
DefaultHttpClient client = new DefaultHttpClient(params);
HttpPost post = new HttpPost(actionURL);
HttpResponse response = …Run Code Online (Sandbox Code Playgroud) 我已经在网上搜索一种方法来做到这一点大约一周了,但我似乎无法弄清楚。
我正在尝试实现一个应用程序,我的大学可以使用它来允许用户轻松登录校园内的各种服务。目前的工作方式是他们进入在线门户,选择他们想要的服务,填写他们的用户名和密码,然后单击登录。表单数据通过 post(它包括几个隐藏值以及用户名和密码)发送到相应的登录脚本,然后登录脚本将它们登录并加载服务。
我一直试图用两种方法来解决这个问题。我首先尝试了 WebView,但它似乎不想支持通常使该表单正常工作的所有 html。我获得了所需的所有元素、用户和密码字段以及登录按钮,但单击该按钮不会执行任何操作。我想知道是否需要为其添加一个 onclick 处理程序,但我不知道如何在 webview 的 html 中实现该按钮,而不使用单独的 android 元素。
另一种可能性是使用 xml 小部件以良好的相对布局创建表单,这似乎加载速度更快,并且在 Android 屏幕上看起来更好。我使用 EditText 字段进行输入,使用微调器小部件进行服务选择,使用按钮小部件进行登录。我知道如何分别为按钮和微调器制作 onclick 和项目选择处理程序,但我不知道如何通过 POST 发送该数据,然后启动浏览器。我可以使用操作 url 执行意图,但无法将 POST 数据输入其中。
这就是我现在所拥有的......
HttpParams params = new BasicHttpParams();
HttpClient client = new DefaultHttpClient(params);
HttpPost post = new HttpPost(action);
String endResult = null;
try
{
post.setEntity(new UrlEncodedFormEntity(myList));
}
catch (UnsupportedEncodingException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
try
{
String response = client.execute(post, new BasicResponseHandler());
endResult = response;
}
catch (ClientProtocolException e) …Run Code Online (Sandbox Code Playgroud) 我在表单的提交按钮 onClickListener 中有以下代码:
String action, user, pwd, user_field, pwd_field;
action = "theURL";
user_field = "id";
pwd_field = "pw";
user = "username";
pwd = "password!!";
List<NameValuePair> myList = new ArrayList<NameValuePair>();
myList.add(new BasicNameValuePair(user_field, user));
myList.add(new BasicNameValuePair(pwd_field, pwd));
HttpParams params = new BasicHttpParams();
HttpClient client = new DefaultHttpClient(params);
HttpPost post = new HttpPost(action);
HttpResponse end = null;
String endResult = null;
try {
post.setEntity(new UrlEncodedFormEntity(myList));
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
HttpResponse response = client.execute(post); …Run Code Online (Sandbox Code Playgroud)