PDA

View Full Version : مشکل در نمایش نرم افزار در بعضی گوشی ها



zahra.mf
جمعه 22 فروردین 1393, 13:39 عصر
سلام
نرم افزار من رو بعضی گوشی ها متناش و نشون نمیده فکر میکنم رو گوی هایی که صفحه نمایش بزرگ دارن من رو دوتا امتحان کردم مشکل داشت s3و note2
ولی رو اچ تی سی و s2 dous nvsj درست کار کرده میخوام بدونم چه جوری مشکلش و حل کنم
ممنون میشم کمک کنید

smemamian
جمعه 22 فروردین 1393, 15:42 عصر
سلام
متن چه Viewای نشون داده نمیشه ؟

zahra.mf
جمعه 22 فروردین 1393, 16:58 عصر
متن text view !

smemamian
جمعه 22 فروردین 1393, 22:15 عصر
نمایش ندادن محتوای یک TextView بعید به نظر می رسه که ربطی به سایز گوشی داشته باشه.
ممکن هست با تغییر پس زمینه فایل xml ، روی برخی گوشی ها این اتفاق بیافته. برای مثال به موردی
برخوردم که بعد از تغییر پس زمینه، روی گوشی های mdpi، شی RadioButton نمایش داده نمی شد،
که از صفت button این مشکل رو برطرف کردم. (روی بقیه سایزها بدون مشکل بود.)
بهرحال، یه نمونه کد از کدهاتون بذارید بیشتر بشه در موردش حرفی زد.

zahra.mf
جمعه 22 فروردین 1393, 22:21 عصر
کدوم قسمت کد و بذارم که به درد بخوره و بتونید بفهمید مشکل چیه؟!!

saeed_g21
جمعه 22 فروردین 1393, 23:05 عصر
کدوم قسمت کد و بذارم که به درد بخوره و بتونید بفهمید مشکل چیه؟!!
کد اکتیویتی که متن TextView نمایش داده نمیشه رو بذارین

zahra.mf
جمعه 22 فروردین 1393, 23:18 عصر
package com.haj.test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;




import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.Window;
import android.widget.TextView;


public class amin extends Activity {
public String fonts="tahoma.ttf";


protected void onCreate(Bundle savedInstanceState){
requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
setContentView(R.layout.amin);
}
protected void setFace()
{
TextView tv = (TextView) findViewById(R.id.textView1);

Typeface typeface = Typeface.createFromAsset(getAssets(), "font/"+fonts+"");

tv.setTypeface(typeface); // اعمال فونت


String data = readTextFile(this, R.raw.amin);
tv.setText(PersianReshape.reshape(data));

}
@Override
public boolean onCreateOptionsMenu(Menu menu){
MenuInflater inflater=getMenuInflater();
inflater.inflate(R.menu.mymenu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
/*if (item.getItemId()==R.id.item1){
Log.d("Option","option 1 was clicked");

}*/
switch(item.getItemId())
{
case R.id.item1:
this.finish();
break;
case R.id.item2:
startActivity(new Intent(amin.this,SplashScreen.class));
break;
case R.id.item3:
startActivity(new Intent(amin.this,font.class));
break;
case R.id.item4:
startActivity(new Intent(amin.this,maminh.class));
break;
}
return super.onOptionsItemSelected(item);



}
protected void onResume() {
super.onResume();
font a=new font();
fonts=a.getFont();
setFace();
SharedPreferences sharedPref = getSharedPreferences("sharedPref", Context.MODE_PRIVATE);//خطا‏
int textSize = sharedPref.getInt("size",0);//خطا
TextView tv = (TextView) findViewById(R.id.textView1);
tv.setTextSize(textSize);

}
public static String readTextFile(Context ctx, int resId) {
InputStream inputStream = ctx.getResources().openRawResource(resId);


InputStreamReader inputreader = new InputStreamReader(inputStream);
BufferedReader bufferedreader = new BufferedReader(inputreader);
String line;
StringBuilder stringBuilder = new StringBuilder();
try {
while ((line = bufferedreader.readLine()) != null) {
stringBuilder.append(line);
stringBuilder.append('\n');
}
} catch (IOException e) {
return null;
}
return stringBuilder.toString();
}




}

#root#
جمعه 22 فروردین 1393, 23:22 عصر
من شبیه این مشکل رو داشتم ، که علتش مربوط به نحوه کپی کردن و استفاده از دیتابیس داشت ، کدهامو تغییر دادم و اصولی تر نوشتم درست شد.

مدیرجان پاک کن

zahra.mf
جمعه 22 فروردین 1393, 23:40 عصر
من شبیه این مشکل رو داشتم ، که علتش مربوط به نحوه کپی کردن و استفاده از دیتابیس داشت ، کدهامو تغییر دادم و اصولی تر نوشتم درست شد.

من اصلا از ذیتا بیس استفاده نکردم!
متنام و تو فایلای متنی نوشتم بعد تو کد فراخوانی کردم

saeed_g21
جمعه 22 فروردین 1393, 23:58 عصر
نیاز به آزمون خطا داره

1- برای نوشتت رنگی غیر از سفید و سیاه انتخاب کن
2- setTypeface رو حذف کن
ببین درست میشه

Programmatore
شنبه 23 فروردین 1393, 14:41 عصر
منم یه بار این مشکل رو داشتم که بعد کلی درگیری اخرش فهمیدم که از بزرگ بودن سایز بک گراند برنامه ست! :لبخندساده:

#root#
شنبه 23 فروردین 1393, 14:52 عصر
من اصلا از ذیتا بیس استفاده نکردم!
متنام و تو فایلای متنی نوشتم بعد تو کد فراخوانی کردم
راست میگید ، از کدهاتون معلومه :گیج:


مدیرجان پاک کن

poorman
شنبه 23 فروردین 1393, 15:13 عصر
دو تا حالت ممکنه رخ بده
یکی اینکه سایز textView صفر برگشت داده بشه
دوم اینکه متن خالی برگشت داده بشه

شما برای هر کدوم از این دو تا یک شرط بذارید که اگر اتفاق افتاد یک toast نمایش داده بشه

سوال دیگه که دونستن جوابش کمک بیشتری میکنه به حل مشکل، اینه که اگر شما یک TextView ساده بدون تعیین فونت و سایز داشته باشید اونو نشون میده ؟؟؟

zahra.mf
شنبه 23 فروردین 1393, 17:14 عصر
ممنون بابت کمکهاتون دوستان فقط چون من این گوشی و تو خونه دم دست ندارم باید برا دوستام میل کنم تا ببینم کار میکنه درست یا نه یه کم سخته و طول میکشه:گریه: رو گوشی من کار میکنه!
به نظر منطقی نمیاد ادم وقتی یه نرم افزار مینویسه باید روی همه مدلهای گوشی امتحان کنه!! راهی نیست تا بفهمم برنامه ای که نوشتم رو چه گوشیایی کار میکنه به غیر از نصب رو تک تک گوشیای ممکن !:|

zahra.mf
شنبه 23 فروردین 1393, 17:15 عصر
منم یه بار این مشکل رو داشتم که بعد کلی درگیری اخرش فهمیدم که از بزرگ بودن سایز بک گراند برنامه ست! :لبخندساده:

یعنی عکسی که گذاشته بودید به عنوان بک گراند بزرگ بود؟!
سایز نرمالش چیه مگه؟!!

poorman
شنبه 23 فروردین 1393, 18:19 عصر
اگر از ایمولاتور genymotion استفاده میکنید، این شبیه ساز تنوع خوبی توی گوشی داره
میتونید روی تبلت ها و گوشی های بزرگش برنامه رو امتحان کنید و ببینید درست کار میکنه یا نه

zahra.mf
شنبه 23 فروردین 1393, 22:09 عصر
نه شبیه سازم eclipse هست :(
میشه برنامه رو روی اون اجرا کرد؟کار میکنه؟

smemamian
شنبه 23 فروردین 1393, 22:15 عصر
یعنی عکسی که گذاشته بودید به عنوان بک گراند بزرگ بود؟!
سایز نرمالش چیه مگه؟!!

شما نباید و نباید یک عکس با سایز بزرگ رو به عنوان تصویر پس زمینه در نظر بگیرید.
تصویر مورد نظر رو باید با سایزهای زیر تهیه کنید و در در Drawable تعبیه شده قرار
بدین:


mdpi 320x480.
hdpi 480x800.
xhdpi 640*960.
xxhdpi 960x1440.


در مورد شبیه ساز هم به این مبحث رجوع کنید:

لینک (http://barnamenevis.org/showthread.php?411648-%D8%B4%D8%A8%DB%8C%D9%87-%D8%B3%D8%A7%D8%B2-%D8%AC%D8%AF%DB%8C%D8%AF-%D9%85%DB%8C%D8%AE%D9%88%D8%A7%D9%87%DB%8C%D8%AF%D 8%9F!-Genymotion-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%B4%D9%85%D8%A7%D8%B3%D8%AA!!!)

Programmatore
یک شنبه 24 فروردین 1393, 04:59 صبح
یعنی عکسی که گذاشته بودید به عنوان بک گراند بزرگ بود؟!
سایز نرمالش چیه مگه؟!!

اره سایز تصویر زمینه بزرگ بود اینو نمیدونستم وقتی برنامه رو فرستادم بازار بهم گفت که رو s3 فورس کلوز میده که بعد کلی اینور اونور دیدیم ایراد کار از جایست که ادم فکرشم نمیکنه اومدم از شبیه ساز genymotion استفاده کردم و مشکلم رو برطرف کردم سایز های استاندارد هم همونطور که smemamian (http://barnamenevis.org/member.php?249007-smemamian) گفتن، اینان:


mdpi 320x480.
hdpi 480x800.
xhdpi 640*960.
xxhdpi 960x1440.

poorman
یک شنبه 24 فروردین 1393, 21:23 عصر
دوستان مشکل ایشون چه ربطی داره به عکس ؟؟؟!!!

داره میگه متن رو نشون نمیده، نمیگه که فورس کلوز میده

شما ساده ترین کارت اینه که روی شبیه ساز genymotion با تبلت ها و گوشی های بزرگ تست کنین

برنامتون هم خیلی راحت تر و با سرعت بیشتر اجرا میشه

zahra.mf
یک شنبه 24 فروردین 1393, 22:10 عصر
دوستان مشکل ایشون چه ربطی داره به عکس ؟؟؟!!!

داره میگه متن رو نشون نمیده، نمیگه که فورس کلوز میده

شما ساده ترین کارت اینه که روی شبیه ساز genymotion با تبلت ها و گوشی های بزرگ تست کنین

برنامتون هم خیلی راحت تر و با سرعت بیشتر اجرا میشه

من هم این و نصب کردم ولی وقتی رو آیکونش کلیک میکنم این خطا رو تو قسمت console میده

Genymotion directory: C:\Users\zahra
Trying to initialize engine
Exception (VBoxManage): java.io.IOException: Cannot run program "C:\Users\zahra\/reg": CreateProcess error=2, The system cannot find the file specified
Initialize Engine: failed

poorman
یک شنبه 24 فروردین 1393, 22:19 عصر
اینجا مشکل رو توضیح دادم

http://barnamenevis.org/showthread.php?411648-%D8%B4%D8%A8%DB%8C%D9%87-%D8%B3%D8%A7%D8%B2-%D8%AC%D8%AF%DB%8C%D8%AF-%D9%85%DB%8C%D8%AE%D9%88%D8%A7%D9%87%DB%8C%D8%AF%D 8%9F!-Genymotion-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%B4%D9%85%D8%A7%D8%B3%D8%AA!!!&p=1996684&viewfull=1#post1996684

zahra.mf
یک شنبه 24 فروردین 1393, 22:38 عصر
الان این خطا رو میده!!:گریه:

[2014-04-13 10:36:23 - DeviceMonitor]Adb connection Error:An existing connection was forcibly closed by the remote host
[2014-04-13 10:36:24 - DeviceMonitor]Connection attempts: 1

poorman
دوشنبه 25 فروردین 1393, 00:12 صبح
این مشکل رو هم توی تاپیک مربوطش توضیح دادم که بقیه هم اگر به مشکل خوردن بهشون کمک کنه

http://barnamenevis.org/showthread.php?411648-%D8%B4%D8%A8%DB%8C%D9%87-%D8%B3%D8%A7%D8%B2-%D8%AC%D8%AF%DB%8C%D8%AF-%D9%85%DB%8C%D8%AE%D9%88%D8%A7%D9%87%DB%8C%D8%AF%D 8%9F!-Genymotion-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%B4%D9%85%D8%A7%D8%B3%D8%AA!!!&p=2005304&viewfull=1#post2005304