标签: android-compatibility

如何在Android API 10上清理堆栈(Android 2.3.3)

我想知道如何清理堆栈的所有先前活动(新的除外),但我想在Android API 10(Android 2.3.3)中使用它.

在这个答案的指导下,我知道这不是直接可能的,因为自从API 11以来,专用的标志就存在了.

但我想知道这是否可能有一些兼容性,或者有人有任何解决方案.

提前致谢.

android android-intent android-compatibility android-activity

4
推荐指数
1
解决办法
1136
查看次数

在Android 6.0 Marshmallow(API 23)中弃用AndroidHttpClient和HttpGet API

今天我更新了android SDK API 23.

一旦我将项目更改为针对Android SDK API 23,我就开始在eclipse中收到关于Apache的客户端和AndroidHttpClient API 的错误.API 23中不再能够找到Apache库API,但仍然可以使用API​​ 22及更低版本继续正常工作.

有人可以建议这些错误背后的问题是什么?

在此输入图像描述

项目中还有一个错误

在此输入图像描述

在此输入图像描述

在此输入图像描述

谢谢.

android android-compatibility androidhttpclient android-6.0-marshmallow

3
推荐指数
1
解决办法
6063
查看次数

如何向ViewPager提供许多片段并避免代码错误?

我有20个FragmentActivity,它们都代表着具有不同机制的游戏屏幕.我想把它们全部放在ViewPager中.唯一想到的是这个虚拟代码:

 public static class MyAdapter extends FragmentPagerAdapter {


    @Override
    public Fragment getItem(int position) {
        switch(position){
          case 0:
            return new Fragment1();
          case 1:
            return new Fragment2();
          .........................
          another 20 case statements here
          .........................
          case 20:
            return new Fragment21();
        }
    }

 }
Run Code Online (Sandbox Code Playgroud)

但应该有另一种方法来做到这一点.将不胜感激任何帮助.

java android android-layout android-compatibility

2
推荐指数
1
解决办法
2169
查看次数

EntityUtils.toString()是否会导致NetworkOnMainThreadException?

我有一个设置,我按如下doInBackground()方法执行我的http请求AsyncTask:

@Override
protected HttpResponse doInBackground(HttpRequestBase... httpRequests)
{
    HttpResponse httpResponse = HttpClient.execute(HttpUriRequest);
    return httpResponse;
}
Run Code Online (Sandbox Code Playgroud)

HttpResponse然后将此对象传递给onPostExecute()我的方法,AsyncTask以传递给处理程序(http请求的原始调用者)并根据需要进行处理,如下所示:

  • 使用检查响应代码httpResponse.getStatusLine().getStatusCode();
  • 获取响应内容使用EntityUtils.toString(httpResponse.getEntity())).

此设置在运行旧版Android的手机上运行良好.

现在在冰淇淋三明治(Galaxy Nexus)上运行我的应用程序我发现上面我的应用程序中的前几个http请求工作正常,但是有一个http请求始终抛出异常,堆栈跟踪如下(略微修剪为可读性):

....

at org.apache.http.util.EntityUtils.toString(EntityUtils.java:139)

在java.io.InputStreamReader.close(InputStreamReader.java:145)

在org.apache.http.conn.EofSensorInputStream.close(EofSensorInputStream.java:213)

...

在libcore.io.BlockGuardOs.recvfrom(BlockGuardOs.java:151)

在android.os.StrictMode $ AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1084)

android.os.NetworkOnMainThreadException

我很迷惑.这是否意味着该EntityUtils.toString(HttpEntity)方法是投掷新的潜在罪魁祸首(并且非常烦人)NetworkOnMainThreadException?如果是这样,有关重新设置我的设置以在单独的线程中发出http请求以便可以在主线程上处理响应的任何建议吗?

android android-networking android-compatibility

2
推荐指数
1
解决办法
4863
查看次数

在文本下方安排单选按钮,完美地放置在所有Android设备的中心

我想在文本下方安排无线电按钮,但我无法做到.我使用了android:layout_marginLeft ="20dp",但它仅适用于特定设备并非适用于所有设备.

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/txt1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:background="#ff0000"
        android:gravity="center"
        android:text="red" />

    <TextView
        android:id="@+id/txt2"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:background="#00ff00"
        android:gravity="center"
        android:text="green" />

    <TextView
        android:id="@+id/txt3"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:background="#0000ff"
        android:gravity="center"
        android:text="blue" />
</LinearLayout>

<RadioGroup
    android:id="@+id/rg_rgrp"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:weightSum="3" >

    <RadioButton
        android:id="@+id/rbtn_red"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="center"
        android:layout_weight="1"
        android:gravity="center" />

    <RadioButton
        android:id="@+id/rbtn_green"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:gravity="center" />

    <RadioButton
        android:id="@+id/rbtn_blue"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:gravity="center" />
</RadioGroup>
Run Code Online (Sandbox Code Playgroud)

我已经使用了Gravity和layout_gravity,但它适用于文本而不是单选按钮.

我想要这样的屏幕兼容许多设备

android radio-group radio-button android-compatibility

2
推荐指数
1
解决办法
3207
查看次数

AppCompatActivity与AppCompatDelegate

最近我发现了什么是AppCompatDelegate,所以出现了一个自然的问题 - 它比使用AppCompatActivity更糟糕还是他们有差异,他们是什么?

android android-compatibility android-activity android-support-library

2
推荐指数
1
解决办法
2132
查看次数

旧安卓设备上的ContentValues.keySet()中的NoSuchMethod错误

使用此功能时出现奇怪的错误.在新设备和模拟器上运行良好,但在旧设备上测试应用程序时崩溃..任何线索发生了什么?

   public boolean bind(ContentValues values ) throws DatabaseException {
        if (values == null) throw new DatabaseException("Values is null");

        ArrayList<String> columnNames = this.getColumnNamesArray(AppController.getDBO().getDatabase());
        String currentKey = null;

        try {
            for (String key : values.keySet()) {
                currentKey = key;
                if (columnNames.contains(key)) {
                    if (values.get(key ) == null ) {
                        this._properties.putNull(key);
                    } else if (values.get(key) instanceof String) {
                        this._properties.put(key, values.getAsString(key));
                    } else if (values.get(key) instanceof Integer) {
                        this._properties.put(key, values.getAsInteger(key));
                    } else if (values.get(key) instanceof Boolean) {
                        this._properties.put(key, values.getAsBoolean(key));
                    } else if (values.get(key) instanceof …
Run Code Online (Sandbox Code Playgroud)

java android nosuchmethoderror android-compatibility

1
推荐指数
1
解决办法
539
查看次数

由NumberFormatException引起的类ImageView错误

我最近在Android 4.2设备Spinner中通过以下getView()方法膨胀项目时遇到了这个奇怪的错误ArrayAdapter:

07-27 10:44:18.120 23988-23988/? E/AndroidRuntime: FATAL EXCEPTION: main
                                                   Process: xxx.xxx.xxx, PID: 23988
                                                   android.view.InflateException: Binary XML file line #21: Error inflating class ImageView
                                                       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713)
                                                       at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
                                                       at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
                                                       at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
                                                       at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
                                                       at android.view.View.inflate(View.java:17832)
                                                       at xxx.xxx.xxx.adapters.SpinnerAdapter.getView(SpinnerAdapter.java:37)
                                                       at android.widget.AbsListView.obtainView(AbsListView.java:2338)
                                                       at android.widget.ListPopupWindow$DropDownListView.obtainView(ListPopupWindow.java:1605)
                                                       at android.widget.ListView.measureHeightOfChildren(ListView.java:1273)
                                                       at android.widget.ListPopupWindow.buildDropDown(ListPopupWindow.java:1176)
                                                       at android.widget.ListPopupWindow.show(ListPopupWindow.java:554)
                                                       at android.widget.AutoCompleteTextView.showDropDown(AutoCompleteTextView.java:1106)
                                                       at android.widget.AutoCompleteTextView.updateDropDownForFilter(AutoCompleteTextView.java:980)
                                                       at android.widget.AutoCompleteTextView.onFilterComplete(AutoCompleteTextView.java:962)
                                                       at android.widget.Filter$ResultsHandler.handleMessage(Filter.java:285)
                                                       at android.os.Handler.dispatchMessage(Handler.java:110)
                                                       at android.os.Looper.loop(Looper.java:193)
                                                       at android.app.ActivityThread.main(ActivityThread.java:5299)
                                                       at java.lang.reflect.Method.invokeNative(Native Method)
                                                       at java.lang.reflect.Method.invoke(Method.java:515)
                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:829)
                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645)
                                                       at dalvik.system.NativeStart.main(Native Method)
                                                    Caused …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-compatibility

1
推荐指数
1
解决办法
1401
查看次数

Android兼容包示例FragmentTabsPager崩溃

我尝试了Android兼容包提供的示例.FragmentTabsPager崩溃并出现以下错误:

11-17 19:00:27.414: E/AndroidRuntime(5401): FATAL EXCEPTION: main
11-17 19:00:27.414: E/AndroidRuntime(5401): java.lang.NoClassDefFoundError: com.example.android.supportv4.app.LoaderCustomSupport$AppListFragment
11-17 19:00:27.414: E/AndroidRuntime(5401):     at com.example.android.supportv4.app.FragmentTabsPager.onCreate(FragmentTabsPager.java:60)
11-17 19:00:27.414: E/AndroidRuntime(5401):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
11-17 19:00:27.414: E/AndroidRuntime(5401):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2633)
11-17 19:00:27.414: E/AndroidRuntime(5401):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2685)
11-17 19:00:27.414: E/AndroidRuntime(5401):     at android.app.ActivityThread.access$2300(ActivityThread.java:126)
11-17 19:00:27.414: E/AndroidRuntime(5401):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2038)
11-17 19:00:27.414: E/AndroidRuntime(5401):     at android.os.Handler.dispatchMessage(Handler.java:99)
11-17 19:00:27.414: E/AndroidRuntime(5401):     at android.os.Looper.loop(Looper.java:123)
11-17 19:00:27.414: E/AndroidRuntime(5401):     at android.app.ActivityThread.main(ActivityThread.java:4633)
11-17 19:00:27.414: E/AndroidRuntime(5401):     at java.lang.reflect.Method.invokeNative(Native Method)
11-17 19:00:27.414: E/AndroidRuntime(5401):     at java.lang.reflect.Method.invoke(Method.java:521)
11-17 19:00:27.414: E/AndroidRuntime(5401):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
11-17 19:00:27.414: E/AndroidRuntime(5401):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
11-17 …
Run Code Online (Sandbox Code Playgroud)

java android android-compatibility android-fragments

-3
推荐指数
1
解决办法
732
查看次数