繁体   English   中英

使用Volley的POST数据在Android中出错

[英]POST data using Volley give error in Android

我正在尝试创建一个登录webside表单应用程序,所以尝试制作一个应用程序登录webside可能像维基或其他,但堆栈POST用户名和密码登录。

public class LoginActivity extends AppCompatActivity implements View.OnClickListener {
    public static final String LOGIN_URL = "https://example.com/login";

    public static final String KEY_USERNAME = "email";
    public static final String KEY_PASSWORD = "password";
    private EditText editTextUsername;
    private EditText editTextPassword;
    private Button buttonLogin;

    private String email;
    private String password;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);

        editTextUsername = (EditText) findViewById(R.id.editTextUsername);
        editTextPassword = (EditText) findViewById(R.id.editTextPassword);

        buttonLogin = (Button) findViewById(R.id.buttonLogin);

        buttonLogin.setOnClickListener(this);
    }

    private void userLogin() {
        email = editTextUsername.getText().toString().trim();
        password = editTextPassword.getText().toString().trim();
        StringRequest stringRequest = new StringRequest(Request.Method.POST, LOGIN_URL,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {



VolleyLog.v("Response:%n %s", response);
                    Log.d("PRINTOUT:%s",response);
                    WebView webview = new WebView(LoginActivity.this);
                    setContentView(webview);
                    webview.loadData(response, "text/html; charset=utf-8", "utf-8");
                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        VolleyLog.e("Error: ", error.getMessage());
                        Toast.makeText(LoginActivity.this, error.toString(), Toast.LENGTH_LONG).show();
                    }
                }) {
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {
                Map<String, String> map = new HashMap<String, String>();
                map.put(KEY_USERNAME, email);
                map.put(KEY_PASSWORD, password);
                return map;
            }
        };

        RequestQueue requestQueue = Volley.newRequestQueue(this);
        requestQueue.add(stringRequest);
    }

    private void openProfile() {
        Intent intent = new Intent(this, ActivityUserProfile.class);
        intent.putExtra(KEY_USERNAME, email);
        startActivity(intent);
    }

    @Override
    public void onClick(View v) {
        userLogin();
    }
}

但我得到像这样的logcat

05-17 13:26:39.360 3046-3046/com.example.falcon.myapcontroller I/art: Not late-enabling -Xcheck:jni (already on)
05-17 13:26:39.570 3046-3046/com.example.falcon.myapcontroller W/System: ClassLoader referenced unknown path: /data/app/com.example.falcon.myapcontroller-2/lib/x86
05-17 13:26:47.042 3046-3046/com.example.falcon.myapcontroller W/System: ClassLoader referenced unknown path: /data/app/com.example.falcon.myapcontroller-2/lib/x86
05-17 13:26:48.361 3046-3046/com.example.falcon.myapcontroller W/art: Verification of void android.support.v7.app.AppCompatDelegateImplV7.<init>(android.content.Context, android.view.Window, android.support.v7.app.AppCompatCallback) took 161.649ms
05-17 13:26:48.368 3046-3056/com.example.falcon.myapcontroller I/art: Background sticky concurrent mark sweep GC freed 15150(1568KB) AllocSpace objects, 8(176KB) LOS objects, 71% free, 1071KB/3MB, paused 2.228ms total 237.648ms
05-17 13:26:48.984 3046-3046/com.example.falcon.myapcontroller W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
05-17 13:26:49.397 3046-3135/com.example.falcon.myapcontroller D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true

                                                                                 [ 05-17 13:26:49.416  3046: 3046 D/         ]
                                                                                 HostConnection::get() New Host Connection established 0xaff0c5c0, tid 3046


                                                                                 [ 05-17 13:26:49.569  3046: 3135 D/         ]
                                                                                 HostConnection::get() New Host Connection established 0xaff0c3b0, tid 3135
05-17 13:26:49.605 3046-3135/com.example.falcon.myapcontroller I/OpenGLRenderer: Initialized EGL, version 1.4
05-17 13:26:54.431 3046-3046/com.example.falcon.myapcontroller W/art: Verification of java.lang.Object com.example.falcon.myapcontroller.LoginActivity.access$super(com.example.falcon.myapcontroller.LoginActivity, java.lang.String, java.lang.Object[]) took 164.493ms
05-17 13:26:54.523 3046-3052/com.example.falcon.myapcontroller W/art: Suspending all threads took: 8.948ms
05-17 13:26:54.876 3046-3046/com.example.falcon.myapcontroller I/Choreographer: Skipped 40 frames!  The application may be doing too much work on its main thread.
05-17 13:26:55.512 3046-3046/com.example.falcon.myapcontroller I/Choreographer: Skipped 37 frames!  The application may be doing too much work on its main thread.
05-17 13:26:56.018 3046-3135/com.example.falcon.myapcontroller E/Surface: getSlotFromBufferLocked: unknown buffer: 0xaaa6af80
05-17 13:26:56.244 3046-3052/com.example.falcon.myapcontroller W/art: Suspending all threads took: 6.210ms
05-17 13:26:57.518 3046-3046/com.example.falcon.myapcontroller W/ViewRootImpl: Cancelling event due to no window focus: MotionEvent { action=ACTION_CANCEL, actionButton=0, id[0]=0, x[0]=563.49976, y[0]=951.4453, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=396092, downTime=392657, deviceId=0, source=0x1002 }
05-17 13:26:57.518 3046-3046/com.example.falcon.myapcontroller W/ViewRootImpl: Cancelling event due to no window focus: MotionEvent { action=ACTION_CANCEL, actionButton=0, id[0]=0, x[0]=563.49976, y[0]=951.4453, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=396092, downTime=392657, deviceId=0, source=0x1002 }
05-17 13:26:57.518 3046-3046/com.example.falcon.myapcontroller W/ViewRootImpl: Cancelling event due to no window focus: MotionEvent { action=ACTION_CANCEL, actionButton=0, id[0]=0, x[0]=563.49976, y[0]=951.4453, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=396092, downTime=392657, deviceId=0, source=0x1002 }
05-17 13:26:57.518 3046-3046/com.example.falcon.myapcontroller W/ViewRootImpl: Cancelling event due to no window focus: MotionEvent { action=ACTION_CANCEL, actionButton=0, id[0]=0, x[0]=563.49976, y[0]=951.4453, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=396092, downTime=392657, deviceId=0, source=0x1002 }
05-17 13:28:11.471 3046-3056/com.example.falcon.myapcontroller I/art: Background partial concurrent mark sweep GC freed 13938(1311KB) AllocSpace objects, 0(0B) LOS objects, 40% free, 2MB/3MB, paused 5.961ms total 64.995ms
05-17 13:28:15.950 3046-4257/com.example.falcon.myapcontroller D/Volley: [143] BasicNetwork.logSlowRequests: HTTP response for request=<[ ] https://tw.mydlink.com/login 0xa74196da NORMAL 1> [lifetime=4410], [size=98], [rc=200], [retryCount=0]
05-17 13:28:15.970 3046-3046/com.example.falcon.myapcontroller D/PRINTOUT:%s: <script>window.location.href = '/login?from=' + encodeURIComponent(window.location.href);</script>
05-17 13:28:15.971 3046-3046/com.example.falcon.myapcontroller I/WebViewFactory: Loading com.android.webview version 44.0.2403.119 (code 246011910)
05-17 13:28:15.996 3046-3046/com.example.falcon.myapcontroller W/System: ClassLoader referenced unknown path: /system/app/webview/lib/x86
05-17 13:28:16.006 3046-3046/com.example.falcon.myapcontroller I/LibraryLoader: Time to load native libraries: 4 ms (timestamps 4631-4635)
05-17 13:28:16.006 3046-3046/com.example.falcon.myapcontroller I/LibraryLoader: Expected native library version number "",actual native library version number ""
05-17 13:28:16.101 3046-3046/com.example.falcon.myapcontroller V/WebViewChromiumFactoryProvider: Binding Chromium to main looper Looper (main, tid 1) {fe87c0f}
05-17 13:28:16.102 3046-3046/com.example.falcon.myapcontroller I/LibraryLoader: Expected native library version number "",actual native library version number ""
05-17 13:28:16.107 3046-3046/com.example.falcon.myapcontroller I/chromium: [INFO:library_loader_hooks.cc(120)] Chromium logging enabled: level = 0, default verbosity = 0
05-17 13:28:16.152 3046-3046/com.example.falcon.myapcontroller I/BrowserStartupController: Initializing chromium process, singleProcess=true
05-17 13:28:16.153 3046-3046/com.example.falcon.myapcontroller W/art: Attempt to remove non-JNI local reference, dumping thread
05-17 13:28:16.178 3046-3046/com.example.falcon.myapcontroller E/SysUtils: ApplicationContext is null in ApplicationStatus
05-17 13:28:16.607 3046-3046/com.example.falcon.myapcontroller W/chromium: [WARNING:resource_bundle.cc(285)] locale_file_path.empty()
05-17 13:28:16.623 3046-3046/com.example.falcon.myapcontroller E/libEGL: validate_display:255 error 3008 (EGL_BAD_DISPLAY)
05-17 13:28:16.628 3046-3046/com.example.falcon.myapcontroller E/libEGL: validate_display:255 error 3008 (EGL_BAD_DISPLAY)
05-17 13:28:16.804 3046-3052/com.example.falcon.myapcontroller W/art: Suspending all threads took: 25.360ms
05-17 13:28:16.900 3046-4346/com.example.falcon.myapcontroller W/AudioManagerAndroid: Requires BLUETOOTH permission
05-17 13:28:16.981 3046-3046/com.example.falcon.myapcontroller E/DataReductionProxySettingListener: No DRP key due to exception:java.lang.ClassNotFoundException: com.android.webview.chromium.Drp
05-17 13:28:17.296 3046-3046/com.example.falcon.myapcontroller W/art: Attempt to remove non-JNI local reference, dumping thread
05-17 13:28:17.338 3046-3046/com.example.falcon.myapcontroller W/AwContents: onDetachedFromWindow called when already detached. Ignoring
05-17 13:28:17.560 3046-3046/com.example.falcon.myapcontroller D/Volley: [1] Request.finish: 6102 ms: [ ] https://tw.mydlink.com/login 0xa74196da NORMAL 1
05-17 13:28:17.562 3046-4344/com.example.falcon.myapcontroller W/chromium: [WARNING:data_reduction_proxy_config.cc(423)] SPDY proxy OFF at startup
05-17 13:28:18.808 3046-3052/com.example.falcon.myapcontroller W/art: Suspending all threads took: 16.493ms

                                                                      [ 05-17 13:28:19.325  3046: 4387 D/         ]
                                                                      HostConnection::get() New Host Connection established 0xae3c8a40, tid 4387
05-17 13:28:19.737 3046-3046/com.example.falcon.myapcontroller W/BindingManager: Cannot call determinedVisibility() - never saw a connection for the pid: 3046
05-17 13:28:44.862 3046-3052/com.example.falcon.myapcontroller W/art: Suspending all threads took: 11.640ms

任何人都可以告诉我哪里做错了?

Volley POST工作正常。 您收到服务器的回复:

  <script>window.location.href = '/login?from=' + encodeURIComponent(window.location.href);</script> 

EDITED

问题是WebView无法显示该响应。 看起来这个问题的WebView在这里是他们的问题跟踪器 正如您所看到的状态已更改为已修复2016年4月26日。更新WebView后,这应该可以正常工作/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM