configChanges value of the com.google.ads.AdActivity must include
Errors:
E/Ads(333): The android:configChanges value of the com.google.ads.AdActivity must include screenLayout.
E/Ads(333): The android:configChanges value of the com.google.ads.AdActivity must include uiMode.
E/Ads(333): The android:configChanges value of the com.google.ads.AdActivity must include screenSize.
E/Ads(333): The android:configChanges value of the com.google.ads.AdActivity must include smallestScreenSize.
E/Ads(333): You must have AdActivity declared in AndroidManifest.xml with configChanges.
Solution:
Try to using a lower version of the GoogleAdMobAdsSDK ADS SDK in project:
GoogleAdMobAdsSDK-4.0.4
How add SDK to project
Add activity to AndroidManifest.xml
E/Ads(333): The android:configChanges value of the com.google.ads.AdActivity must include screenLayout.
E/Ads(333): The android:configChanges value of the com.google.ads.AdActivity must include uiMode.
E/Ads(333): The android:configChanges value of the com.google.ads.AdActivity must include screenSize.
E/Ads(333): The android:configChanges value of the com.google.ads.AdActivity must include smallestScreenSize.
E/Ads(333): You must have AdActivity declared in AndroidManifest.xml with configChanges.
Solution:
Try to using a lower version of the GoogleAdMobAdsSDK ADS SDK in project:
GoogleAdMobAdsSDK-4.0.4
How add SDK to project
Add activity to AndroidManifest.xml
// .............. blah
<uses-sdk android:minSdkVersion="4"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application android:icon="@drawable/dicts_ico" android:label="@string/app_name"
>
<meta-data
android:value="a12345_your_number"
android:name="ADMOB_PUBLISHER_ID" />
<activity android:name=".MainStartMenu"
android:label="@string/app_name"
android:configChanges="keyboardHidden|orientation"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- Google ads -->
<activity android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation"/>
// ......... blah
396LW NO topic_id
AD
Další témata ....(Topics)
First: AdView is in XML file
Second: Using AdView in Fragment with LinearLayout
Resolve error in ADT Graphical layout editor:
The following classes could not be instantiated:
- com.google.android.gms.ads.AdView
More about:
https://developers.google.com/mobile-ads-sdk/docs/admob/android/play-migration?hl=it
<com.google.android.gms.ads.AdView
xmlns:ads="//schemas.android.com/apk/res-auto"
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
ads:adUnitId="MY_AD_UNIT_ID"
ads:adSize="BANNER"/>
// onResume
AdView adView = (AdView)this.findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice("TEST_DEVICE_ID")
.build();
adView.loadAd(adRequest);
Second: Using AdView in Fragment with LinearLayout
Resolve error in ADT Graphical layout editor:
The following classes could not be instantiated:
- com.google.android.gms.ads.AdView
// layout in xml file
<LinearLayout
android:id="@+id/layout"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
// java class with fragment in Fragment class or in Activity class
private static AdView adView;
@Override
public void onResume(){
super.onResume();
try {
// in xml is empty layout
adView = new AdView(getActivity());
adView.setAdUnitId("ca-app-pub-626/638103xxxxxxx");
adView.setAdSize(AdSize.BANNER);
LinearLayout layout = (LinearLayout)getView() .findViewById(R.id.layout);
layout.addView(adView);
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
More about:
https://developers.google.com/mobile-ads-sdk/docs/admob/android/play-migration?hl=it
int[] mArrayOfInt;
String[] mArrayOfString;
List<String> mList;
public void saveState(Bundle map)
{
map.putIntArray("mArrayOfInt", mArrayOfInt);
map.putStringArray("mArrayOfString", mArrayOfString);
map.putStringArrayList("mList", mList);
}
public void restoreState(Bundle map)
{
mArrayOfInt= map.getIntArray("mArrayOfInt");
mArrayOfString = map.getStringArray("mArrayOfString");
mList = map.getStringArrayList("mList");
}
public class MainActivity extends Activity implements OnClickListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
LinearLayout layout = (LinearLayout) findViewById(R.id.layout);
RadioGroup radioGroup = new RadioGroup(this);
LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.FILL_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT
);
layout.addView(radioGroup, p);
RadioButton radioButtonView = new RadioButton(this);
radioButtonView.setText("RadioButton");
radioButtonView.setOnClickListener(this);
radioGroup.addView(radioButtonView, p);
RadioButton radioButtonView2 = new RadioButton(this);
radioButtonView2.setText("RadioButton2");
radioButtonView2.setOnClickListener(mThisButtonListener);
radioGroup.addView(radioButtonView2, p);
}
public void onClick(View view) {
try {
String s = ((RadioButton) view).getText().toString();
Toast.makeText(MainActivity.this, "This is: " + s,
Toast.LENGTH_LONG).show();
}
catch (Exception e1) {
e1.printStackTrace();
}
}
private OnClickListener mThisButtonListener = new OnClickListener() {
public void onClick(View v) {
String s = ((RadioButton) v).getText().toString();
Toast.makeText(MainActivity.this, "Hello from 2!" + s,
Toast.LENGTH_LONG).show();
}
};
}
getContext() getApplicationContext() method Java Android example source
Context myContext_1 = ThisClassName.this; // to open a Dialog
Context myContext_2 = getContext();
Context myContext_3 = this.getContext();
Context myContext_4 = this;
Context myContext_5 = this.getApplicationContext ();
OnClickListener getImageBtnOnClick = new OnClickListener() {
public void onClick(View view) {
Context context = view.getContext();
}
};
// Toast
Toast.makeText(getApplicationContext(), "Context == getApplicationContext "
, Toast.LENGTH_SHORT).show();
// store Context in public class
public class MyActivity extends Activity {
public static Context myCnt = null;
...
protected void onCreate(Bundle icicle) {
...
myCnt = this;
MyStorage.setContext(myCnt);
// or
// MyStorage.setContext(this);
// cntxFromStorage == this
Context cntxFromStorage = MyStorage.getContext();
...
};
};
public class MyStorage
{
private static Context cntStorageContext = null;
public static Context getContext() {
return cntStorageContext;
}
public static void setContext(Context context) {
MyStorage.cntStorageContext = context;
}
};
class DataBaseHelper extends SQLiteOpenHelper {
// get MyActivity context
Context cnt = MyStorage.getContext();
}
If you create a button or view programmatically with OnClickListener you can set a tag key before button in parent layout is added.
And get correct button by this tag getTag() instead getId() in OnClickListener etc.
And get correct button by this tag getTag() instead getId() in OnClickListener etc.
Button button = new Button(getApplicationContext());
int idOfButton = button.getId(); // return -1
button.setTag("my_button");
String sTag = (String) button.getTag(); // return "my_button"
Editace: 2014-02-15 20:33:05
Počet článků v kategorii: 396
Url:configchanges-value-of-the-com-google-ads-adactivity-must-include