簡體   English   中英

將Android映像上傳到php服務器錯誤

[英]Upload Android image to php server error

我下面教程這里與某人的幫助請求一起在這里 ...

我對Java / Android編程非常陌生,我不確定如何“啟動”這部分代碼。 在我的AndroidManifest.xml文件中,我將其設置為第一個活動,假設該活動將在啟動時立即啟動:

    <activity
        android:name=".UploadImage"
        android:label="@string/title_activity_starting_point" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

不幸的是,它不能以這種方式工作,因為每當我啟動該應用程序時,它都會“意外停止”。 我在這里放置的任何其他Java類都可以正常啟動,因此我認為這是代碼中的內容。 我只是不確定要讓代碼“運行”在什么地方,因為每次編譯它時,程序都會在手機上崩潰。

LogCat表示無法解析以下代碼行:

String image_str = Base64.encodeBase64String(byte_arr);
// old code was String image_str = Base64.encodeBytes(byte_arr), 
// but this didn't compile for me and a comment on another website 
// said that encodeBase64String could replace it...apparently not?

歡迎使用Android。

首先,在Eclipse中找到您的logCat。 它會是您最好的朋友(也是很多挫敗感的來源)。

其次,一旦找到logCat,您很可能會看到NetworkOnMainThread異常。 這意味着您正在嘗試在主UI線程上執行Network請求,這將導致屏幕“凍結”並結結。 這是一個禁忌,從Android 4.0開始,它將使您的應用程序崩潰。

有一種方法可以顯式地覆蓋它,但是如果您學會了避免從頭開始,那就更好了-一點也不困難。 只需使用AsyncTask即可

最后,請確保您在清單中具有INTERNET權限。

顯然,我輸入的Base64文件是從原始文件修改而來的。 'encodeBase64String'不存在,並且使用:

int flag = 0;
String image_str = Base64.encodeToString(byte_arr, flag);

解決了問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM