بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

یک مشکل در اندروید پنج لطفا کمک

مدیریت گفتگو
دانیال 10 سال پیش
آخرین تغییر: 10 سال پیش

سلام من متریال دیزاین رو رو برنامم پیاده کردم و با استفاده ازgetSupportActionBar رو اکشن بار ادیت میکنم تو همه نسخه های اندروید درست کار میکنه ولی داخل اندروید پنج فورس کلوز میده اگه میشه راهنمایی کنید

نظرات

حمید زمانی 10 سال پیش
هیچ کدی نذاشتی که ما ببینیم چیکار کردی همچنین وقتی کرش می کنی یه شات هم از لاگ هات بذار.

پاسخ‌ها 4

دانیال 10 سال پیش

import android.app.*;
import android.content.*;
import android.content.pm.*;
import android.graphics.*;
import android.net.*;
import android.os.*;
import android.support.v7.app.*;
import android.telephony.*;
import android.util.*;
import android.view.*;
import android.view.View.*;
import android.widget.*;
import android.widget.LinearLayout.*;
import com.abzarkarbordi1380.*;
import ir.adad.*;

import android.app.AlertDialog;
import android.support.v7.app.ActionBar;
import android.view.View.OnClickListener;
import android.graphics.drawable.*;

public class main extends ActionBarActivity 
 {
	private String              payload; // رشته ی منحصر به فردی که ما اون رو تولید میکنیم و به هنگام خرید به بازار ارسال میکنیم
	static final String TAG = "app"; 
	private AdView adView;
	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		// TODO Auto-generated method stub
		switch (item.getItemId()) {
			case R.id.itemKelidestan:
				//do something when this button is pressed
				startActivity(new Intent(this, seda.class));	
				return true;
			case R.id.ex:
				Intent next= new Intent(main.this, sett.class );
				next.putExtra("btn", 20);
				////در اینجا هم میگیم که اینتنت ماز شرو بشه
				startActivity(next);
				return true;
			case R.id.fi:
				//do something when this button is pressed
				finish();
				return true;
			default: 
				return true;
		}	
	}
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// TODO Auto-generated method stub
		MenuInflater inflater = getMenuInflater();
		inflater.inflate(R.menu.main1, menu);
		return true;
	}
	
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main1no);

		//if(!MySigCheck(getApplicationContext()).equals("-1803739374")){
			//finish();
			//MyToast.makeText(getApplicationContext(), "لطفا از نسخه معتبر برنامه استفاده کنید", Toast.LENGTH_LONG).show();
			//Log.d(TAG, "chk sign");     
			
			
		//}else{
			
		//}
		Typeface textfontfa = Typeface.createFromAsset(getAssets(),"c.ttf");
		
		
		SharedPreferences sh = getSharedPreferences("sett", 0);


        String editor1 = sh.getString("chk","#004d40");
		
		//acsin
		getSupportActionBar().setDisplayHomeAsUpEnabled(true);
		getSupportActionBar().setHomeButtonEnabled(true);
		getSupportActionBar().	setDisplayShowHomeEnabled(false);
		getSupportActionBar().setDisplayShowTitleEnabled(false);

		LayoutInflater mInflater = LayoutInflater.from(this);
		getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor(editor1)));
		View mCustomView = mInflater.inflate(R.layout.custom, null);
		TextView mTitleTextView = (TextView) mCustomView.findViewById(R.id.textViewTitle);
		mTitleTextView.setText("صفحه اصلی");
		mTitleTextView.setTypeface(textfontfa);

		//mTitleTextView.setTextSize(15);
//فعال کردن اکشن بار سفارشی
		getSupportActionBar().setCustomView(mCustomView);
		getSupportActionBar().setDisplayShowCustomEnabled(true);
		getSupportActionBar().setHomeButtonEnabled(true);
		getSupportActionBar().setDisplayHomeAsUpEnabled(true);

		
			
								 
								 
								 
								 
		TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
		payload = telephonyManager.getDeviceId();
		
		
		
		SharedPreferences shared = getSharedPreferences("Prefs", MODE_PRIVATE);
		SharedPreferences.Editor editor = shared.edit();
		
		boolean premium=shared.getBoolean(payload, false);
		if(premium){

			
			Adad.setDisabled(true);
			Button btn1=(Button) findViewById(R.id.noad);
			btn1.setEnabled(false);
		}else{
			FrameLayout.LayoutParams  adParams = new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);

			adParams.gravity = Gravity.BOTTOM | Gravity.CENTER;
			adView = new AdView(this);
			adView.setToken("5455d62594db433f9219a1e3cbac7d59");	
			addContentView(adView, adParams);
			
		}
	
		
		


		Adad.setTestMode(true);
		
		
		
		
		

		TextView d = (TextView) findViewById(R.id.fonttxt);
		
		d.setTypeface(textfontfa);
		
		
		
	
		
		
		Button btn=(Button) findViewById(R.id.intmain);


		btn.setTypeface(textfontfa);


		///در اینجا هم میگیم وقتی رو دکمه کلیک میشه چیکار انجام بده
		btn.setOnClickListener(new OnClickListener() {

				@Override
				public void onClick(View arg0) {
					// TODO Auto-generated method stub
					// در اینجا یک اینتنت تعریف میکنیم و میگیم که وقتی اجرا میشه بره صفحه مورد نظرمون
					Intent next= new Intent(main.this, MainActivity.class );
					next.putExtra("btn", 20);
					////در اینجا هم میگیم که اینتنت ماز شرو بشه
					startActivity(next);

				}
			});
		
		
		Button btn1=(Button) findViewById(R.id.noad);


		btn1.setTypeface(textfontfa);


		///در اینجا هم میگیم وقتی رو دکمه کلیک میشه چیکار انجام بده
		btn1.setOnClickListener(new OnClickListener() {

				@Override
				public void onClick(View arg0) {
					
					
				
						
					
					
					
					// TODO Auto-generated method stub
					// در اینجا یک اینتنت تعریف میکنیم و میگیم که وقتی اجرا میشه بره صفحه مورد نظرمون
					Intent next= new Intent(main.this, pro.class );
					next.putExtra("btn", 20);
					////در اینجا هم میگیم که اینتنت ماز شرو بشه
					startActivity(next);

				}
			});
		
		
		
		
		

		}
		
		//////کد اجرایی نوشنه نشود
	@Override
	public void onBackPressed() {
		Log.d(TAG, "appfinish.");     
//نمایش الرت دیالئگ هنگام کلیک بروی دکمه بک موبایل
		backButtonHandler();
		return;
	}

	public void backButtonHandler() {
		AlertDialog.Builder alertDialog = new AlertDialog.Builder(
			main.this);
// ایجاد عنوان برای دیالوگ
		alertDialog.setTitle("");
// ایجاد یک پیام جهت نمایش به کاربر
		alertDialog.setMessage("آیا مایل به خروج از برنامه هستید؟");

// ایجاد یک دکمه با عملکرد مثبت برای نمایش بله و خروج از برنامه
		alertDialog.setPositiveButton("بلی",
			new DialogInterface.OnClickListener() {
				public void onClick(DialogInterface dialog, int which) {
					finish();
				}
			});
// ایجاد یک دکمه با عملکرد منفی برای نمایش خیر و ماندن در برنامه
		alertDialog.setNegativeButton("خیر",
			new DialogInterface.OnClickListener() {
				public void onClick(DialogInterface dialog, int which) {

					dialog.cancel();
				}
			});
		alertDialog.setNeutralButton("نظر",
			new DialogInterface.OnClickListener() {
				public void onClick(DialogInterface dialog, int which) {
					finish();
					Intent intent = new Intent("android.intent.action.EDIT", Uri.parse(("bazaar://details?id=com.abzarkarbordi1380")));
					intent.setPackage("com.farsitel.bazaar");
                    startActivity(intent);
				}
			});
// نماایش الرت دیالوگ
		alertDialog.show();
		
		
	}}

	//public String MySigCheck(Context context) {
		//String sigChk = "";

		//Signature[] signature = new Signature[0];

		//try {
			//signature = context.getPackageManager().getPackageInfo(context  .getPackageName(), PackageManager.GET_SIGNATURES).signatures;

		//} catch (PackageManager.NameNotFoundException e) {
			//e.printStackTrace();
		//}
		//sigChk = String.valueOf(signature[0].hashCode());

		//return sigChk;
   // }}


	

	

نظرات

حمید زمانی 10 سال پیش
بابا این همه کد که لازم نیست ، جاهایی که شک داری رو باید بذاری و عکس از لاگ هات هم بذار
دانیال 10 سال پیش

اینم لاگ

 WindowManager com.abzarkarbordi1380          android.view.WindowLeaked: Activity com.abzarkarbordi1380.pro has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{4209e438 G.E..... R.....ID 0,0-456,144} that was originally added here
11-27 21:01:48.968 3017 3017 E     WindowManager com.abzarkarbordi1380          at android.view.ViewRootImpl.<init>(ViewRootImpl.java:422)
11-27 21:01:48.968 3017 3017 E     WindowManager com.abzarkarbordi1380          at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:250)
11-27 21:01:48.968 3017 3017 E     WindowManager com.abzarkarbordi1380          at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
11-27 21:01:48.968 3017 3017 E     WindowManager com.abzarkarbordi1380          at android.app.Dialog.show(Dialog.java:329)
11-27 21:01:48.968 3017 3017 E     WindowManager com.abzarkarbordi1380          at com.abzarkarbordi1380.pro.onCreate(pro.java:298)
11-27 21:01:48.968 3017 3017 E     WindowManager com.abzarkarbordi1380          at android.app.Activity.performCreate(Activity.java:5353)
11-27 21:01:48.968 3017 3017 E     WindowManager com.abzarkarbordi1380          at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1088)
11-27 21:01:48.968 3017 3017 E     WindowManager com.abzarkarbordi1380          at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2340)
11-27 21:01:48.968 3017 3017 E     WindowManager com.abzarkarbordi1380          at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2428)
11-27 21:01:48.968 3017 3017 E     WindowManager com.abzarkarbordi1380          at android.app.ActivityThread.access$800(ActivityThread.java:151)
11-27 21:01:48.968 3017 3017 E     WindowManager com.abzarkarbordi1380          at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1342)
11-27 21:01:48.968 3017 3017 E     WindowManager com.abzarkarbordi1380          at android.os.Handler.dispatchMessage(Handler.java:110)
11-27 21:01:48.968 3017 3017 E     WindowManager com.abzarkarbordi1380          at android.os.Looper.loop(Looper.java:193)
11-27 21:01:48.968 3017 3017 E     WindowManager com.abzarkarbordi1380          at android.app.ActivityThread.main(ActivityThread.java:5332)
11-27 21:01:48.968 3017 3017 E     WindowManager com.abzarkarbordi1380          at java.lang.reflect.Method.invokeNative(Native Method)
11-27 21:01:48.968 3017 3017 E     WindowManager com.abzarkarbordi1380          at java.lang.reflect.Method.invoke(Method.java:515)
11-27 21:01:48.968 3017 3017 E     WindowManager com.abzarkarbordi1380          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:831)
11-27 21:01:48.968 3017 3017 E     WindowManager com.abzarkarbordi1380          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:647)
11-27 21:01:48.968 3017 3017 E     WindowManager com.abzarkarbordi1380          at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
11-27 21:01:48.968 3017 3017 E     WindowManager com.abzarkarbordi1380          at dalvik.system.NativeStart.main(Native Method)

نظرات

حمید زمانی 10 سال پیش
اگه برات مقدوره با شمارم تماس بگیر یه توضیحی بهت بدم : 09337824237
دانیال 10 سال پیش
دقیقا ایراد کد ها من چیه
Majid Arabi 10 سال پیش

این روش رو برید شاید درست بشه.( البته مطمئن نیستم ولی شما امتحان کنید. ضرر که نداره (: ! )

فایل Style.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

<style name="AppTheme" parent="AppTheme.Base">

</style>

<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/primaryColor</item>
<item name="colorPrimaryDark">@color/primaryColorDark</item>
<item name="colorAccent">@color/accentColor</item>
</style>
</resources>

فایل(Style.xml(v21

<?xml version="1.0" encoding="utf-8"?>
<resources>

<style name="AppTheme" parent="AppTheme.Base">
<item name="android:colorPrimary">@color/primaryColor</item>
<item name="android:colorPrimaryDark">@color/primaryColorDark</item>
<item name="android:colorAccent">@color/accentColor</item>
</style>
</resources>

ست کردن تم در منیفست!

application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">

امیدوارم مشکلتون حل بشه (:

نظرات

حمید زمانی 10 سال پیش

این دوستمون سورسش رو از طریق تلگرام برای من فرستاد و بعد از بررسی سورس متوجه شدم ایشون در پروژشون از پرداخت درون برنامه ای بازار استفاده کردند ، برای استفاده از این سرویس باید چندین فایل به پروژتون اضافه کنید که یکی از فایل ها IabHelper نام دارد ، در خط 260 ام این کلاس یک متغییر از جنس Intent به نام serviceIntent  وجود دارد ، برای استفاده از این اینتنت در اندروید 5 باید حتما آن را صریح کنید که خط 260 ام این کار را میکند و پکیج کافه بازار را به آن اختصاص میدهد ، قبلا هم یکی از دوستان و حتی خوده من به همین مشکل برخورده بودیم ، دوستانی که از پرداخت درون برنامه ای کافه بازار استفاده می کنند ، به این نکته توجه کنند.

نظرات


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .