回答:
Androidのサポートライブラリの概要で述べたように、デバイスの多様性と、Androidの異なるバージョン間(したがって、提供されるAPI)に存在する断片化のため、デフォルトでサポートライブラリを含めることをお勧めします。
これが、Eclipseに含まれているAndroid コードテンプレートツールAndroid Development Tools (ADT)
がデフォルトで統合される理由です。
API 15
あなたはサンプルでターゲットにしていることを指摘しましたが、パッケージに最低限必要なSDKはAPI 10
であり、互換性ライブラリは膨大な量の下位互換性のあるAPIを提供できます。例では、使用する能力であろうFragment API
上のどのappeardをAPI 11
(アンドロイド3.0ハニカム)このシステムの旧バージョンを実行するデバイス上で。
また、サポートライブラリの自動インクルードをデフォルトで無効にすることもできます。
Eclipseが自動的にキットカットのAPI appcompat_v7.Becauseは、それが自動的に追加されます自体を立ち上げ作成appcompat_v7
してfragment_main.xml
。
これらを解決する最良の方法:
最初に、プロジェクトでは、Right click->properties->Android
そこにred marked appcompat
配置されてReference
いることがわかります。それをクリックして削除しProject Build Target
ます。次に、で正しいターゲット名を選択します。
Eclipseで作成されたfragment_main.xmlおよびAppcompatファイルを削除します。
次のようにactivity_main.xmlを編集して変更します。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</RelativeLayout>
内のres /値/のstyles.xml:
<resources>
<style name="AppBaseTheme" parent="android:Theme.Light">
</style>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
</style>
</resources>
res /値-V11 /のstyles.xmlあなたは、これらのように変更する必要があります。
<resources>
<style name="AppBaseTheme" parent="android:Theme.Holo.Light">
</style>
</resources>
res /値-V14 /のstyles.xmlあなたは、これらのように変更する必要があります。
<resources>
<style name="AppBaseTheme" parent="android:Theme.Light">
</style>
<style name="AppTheme" parent="AppBaseTheme">
</style>
</resources>
次のようにmenu / main.xmlを変更します。
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings"/>
</menu>
最後にMainActivity.javaを次のように変更します。
import android.app.Activity;
import android.os.Bundle;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
LikeWiseあなたは新しいプロジェクトを作成するためにそれをしなければなりません
私はAndroidを使い始めたばかりです。新しいAndroidアプリケーションプロジェクトを作成すると、プロジェクトappcompat_v7が常に作成されるので、とても不快です。
これはただの散歩です。[プロジェクトのプロパティ]-> [Android]を選択し、[ライブラリ]ボックスでappcompat_v7_xを削除してappcompat_v7を追加します。これで、appcompat_v7_xを削除できます。
ウィザードでアクティビティを作成するとappcompat_v7_xになるため、プロジェクトの作成ウィザードで[アクティビティの作成]チェックボックスをオフにしても機能しません。が再び表示。私のADTのバージョンはv22.6.2-1085508です。
英語が下手でごめんなさい。
私の英語で申し訳ありません。新しいAndroidプロジェクトを作成するときは、高レベルのAPIを選択する必要があります。下位のAPIでそれを行った場合は、Androidマニフェストで編集して上位のAPIを持つようにします。
http://developer.android.com/guide/topics/ui/actionbar.htmlによると
ActionBar APIは、Android 3.0(APIレベル11)で最初に追加されましたが、Android 2.1(APIレベル7)以上との互換性のためにサポートライブラリでも利用できます。
つまり、この自動生成されたプロジェクトは、ActionBarをAPI 7〜10に追加するプロセスをモジュール化しています。
このトピックに関する簡単な説明とチュートリアルについては、http://hmkcode.com/add-actionbar-to-android-2-3-x/を参照してください。
minSDKが11に設定され、targetSDKが19に設定されている場合でも、ADT 22.6.2バージョンで新しいandroidプロジェクトを作成しているときに「appcompat」ライブラリが作成されることに気付きました
これは、新しいプロジェクトテンプレートでandroidがサポートライブラリの属性を使用しているために発生していました。たとえば、アクションバーで新しいプロジェクトが作成された場合、メニューのmain.xmlでapp:showAsAction="never"
サポートライブラリからのものを見つけることができます。
android:showAsAction
メニューのmain.xmlでこの属性をに変更できますまた、デフォルトのテーマセットは、以下に示すように "Theme.AppCompat.Light.DarkActionBar"にすることもできます(styles.xml)
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- API 14 theme customizations can go here. -->
</style>
この場合、style.xmlの親テーマを "android:style / Theme.Holo.Light.DarkActionBar"に変更する必要があります。