sadeq460

توسعه دهنده اندروید
  • تعداد ارسال ها

    14
  • تاریخ عضویت

  • آخرین بازدید

اعتبار در انجمن

0 Neutral

درباره sadeq460

  • درجه
    Member
  1. فراگمنت ها از وفتی روی کار اومد که تبلت ها توی بازار اومدون (وقتی اندروید 3 معرفی شد) و دلیل معرفی اش رو هم با یه مثال برات توضیح میدم یه برنامه رو در نظر بگیر که برای معرفی چند تا کلمه درست شده مثل یه اطلس یا دیکشنری که یه لیست داره که اسم کلمه ها رو ردیف کرده وقتی کاربر روی کلمه کلیک میکنه یه اکتیویتی دیگه باز میشه تا توضیحات مختصری رو درباره اون کلمه به کاربر نشون بده این حالت توی گوشی ها بد نیست ولی وقتی همین برنامه رو توی یه صفحه ده اینچی تبلت اجرا می کنی کاربر با خودش میگه عجب خریتی کردم پول اضافی دارم تبلت گرفتم با این که صفحه من جا برای نمایش بقیه اطلاعات رو داره ولی باز یه صفحه جدید (اکیویتی با لایوت ) باز می کنه گوگل با خودش فکر کرد که این حس کاربر رو عوض کنه برای همین فراگمنت رو ساخت تا بشه دوتا لایوت متفاوت توی یه اکتیوتی قابل نمایش باشه مثلا برای همین برنامه خودمون نصف صفحه مال اون لیست کلمات باشه و نصف دیگه برای نمایش اطلاعات هر کلمه که روش کلیک بشه. فراگمت یه چیزیه بین اکتیویتی و لایوت البته بیشتر شبیه لایوته چون به تنهای نمیتونه کاری کنه و باید جزعی از محتویات یه اکتیویتی باشه شباهت اش هم به اکتیویتی اینکه چرخه عمر داره برخلاف لایوت که همچین چیزی نداره
  2. // Pretend this is an html document with those three characters String scandinavianCharacters = "øæå"; // Won't render correctly webView.loadData(scandinavianCharacters, "text/html", "UTF-8"); // Will render correctly webView.loadDataWithBaseURL(null, scandinavianCharacters, "text/html", "UTF-8", null);
  3. رفع مشکل کندی سرعت شبیه ساز آندروید گوگل تست شده روی سیستم زیر Intel core i7 -4500U 1.8 GHz with turbo boost up to 3 GHz // 8 GB DDR3 یکی از مشکلات بزرگ شبیه ساز رسمی گوگل برای اندروید سرعت پایین این شبیه ساز است یکی از راه حل های این مشکل استفاده از شبیه ساز های غیر رسمی می باشد که سرعت اونا بهتره ولی مشکلش اینه که اگه نسخه جدید اندروید منتشر شد نمی تونی از اون استفاده کنی و نمیشه از تمام نسخه های اندروید استفاده کرد یه راه حل بهتر برای رفع مشکل سرعت پایین این شبیه ساز فوق العاده برای سیستم های که پردازنده اینتل دارن استفاده از درایور مدیریت شتابدهنده سخت افزاری اینتل است که می تونید از لینک زیر دانلود کنید ولی باید از فیلتر شکن استفاده کنید [align=left] Intel® Hardware Accelerated Execution Manager End-User License Agreement - Windows https://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager-end-user-license-agreement[/align] و بعد از نصب باید (System Images) مخصوص نسخه اندروید ای که استفاده می کنید رو هم دانلود کنید و در مسیر زیر اکستراکت کنید (من از اندروید 4.2 (API 17) استفاده می کنم) [align=left] C:\Users\admin\AppData\Local\Android\android-studio\sdk\system-images\android-17[/align] اینم لینک دانلود [align=left] (Android System Images for Android Software Development Kit (SDK [/align] [align=left] https://software.intel.com/en-us/android/articles/intel-eula-x86-android-4-2-jelly-bean-bin[/align] قدم اخر اینکه (َAVD manager) تون رو باز کنید و یکی از دیوایس های موجود رو ویرایش کنید و در مقابل گزینه (CPU/ABI) از منوی کشویی گزینه (86Intel atom ) رو انتخاب کنید . اگه به مشکلی بر خوردین لینک زیر می تونه کمکتون بکنه [align=left] Intel® Atom™ x86 Image for Android* Jelly Bean 4.2 Installation Instructions - Manually [/align] [align=left] https://software.intel.com/en-us/android/articles/intel-atom-x86-image-for-android-4-2-jelly-bean-installation-instructions-manually[/align]
  4. باشه الان لطفا of نشید
  5. این اموزشی که شما معرفی کردین یه کنترل به صفحه اضافه می کنه من میخام به تعداد نا مشخص کنترل به صفحه اضافه کنم و بعد بتونم با مراجعه به ای دی منحصر به فرد هرکدوم به محتویات اش دست رسی داشته باشم تا روی سرور ذخیره اش کنم
  6. سلام ممنون تعداد کنترل هام مشخص نیست چطوری مشخصات عناصر اضافه شده به لایه گرافیکی را در یک آرایه ذخیره کنم
  7. نحوه ساخت کنترل در زمان اجرای برنامه رو کسی بلده یعنی وقتی کاربر روی یک دکمه کلیک کرد یه image view به صفحه اضافه بشه و عکس انتخاب شده کاربر رو داخل اش نمایش بده یه چیزی شبیح office/word و اینکه چه کنترلی به صفحه اضافه کنم که هم بشه داخل اش تایپ کرد و هم قابلیت اضافه کردن تصویر رو داشته باشه
  8. مشکل ام حل شد اینم راه حل برای آیندگان public static String API_savepost(String authorEmail,String postString) { String url = API_savepost ; url = url.replaceAll("#@#",authorEmail); url = url.replaceAll("#@@#",postString); url = url.replaceAll(" ", "%20"); url = url.replaceAll("\\n","%0D%0A"); return url; }
  9. سلام یک متن چند سطری رو با edittext از کاربر بگیرم و با استفاده از لینک (get || post) به سرور بفرستم فضا های خالی رو با %20 جایگزین کردم ولی با \n (کاراکتر سطر جدید) مشکل دارم چطوری باید این کارکتر رو بشناسم و با replace جایگرینش اش کنم با یه کاراکتری مثل همون %20 الان وقتی به سطر جدید میرسه بقی رو توی بانک دخیره نمیکنه
  10. سلام دوستان میخام یه timeline مثل لاین درست کنم که هر کاربر بتونه برای دوستاش پست بزاره و میخام این پست مثل یه سند html شامل عکس و متن باشه مثل شکل سوال من اینکه چطوری باید این کار رو بکنم ایده خودم اینکه کاربر پست اش رو توی یه ویرایش گر تایپ کنه و عکس های مورد نیاز رو بین متن ها بزاره و بعد ما این پست رو در قالب یه فایل xml ذخیره کنیم و روی سرور با یه نام منحصر به فرد ذخیره کنیم و بعد دوستانش برای دیدن پست اون رو دانلود کنن و ببینین به نظر شما این کار درسته یا نه و اگه درسته چطوری باید یه ویرایشگر درست کنم که خروجی xml بده
  11. الان چیکارش کنم درست بشه
  12. سلام میشه بگید این خطا واسه چیه ؟ [shcode=java] 08-22 11:27:36.972 855-886/org.nina.nina W/dalvikvm﹕ threadid=11: thread exiting with uncaught exception (group=0x40a71930) 08-22 11:27:36.982 855-886/org.nina.nina E/AndroidRuntime﹕ FATAL EXCEPTION: Thread-84 java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare() at android.os.Handler.(Handler.java:197) at android.os.Handler.(Handler.java:111) at android.widget.Toast$TN.(Toast.java:324) at android.widget.Toast.(Toast.java:91) at android.widget.Toast.makeText(Toast.java:238) at org.nina.nina.adduser$1.run(adduser.java:130) 08-22 11:27:37.462 855-855/org.nina.nina I/Choreographer﹕ Skipped 557 frames! The application may be doing too much work on its main thread. 08-22 11:27:39.802 855-886/org.nina.nina I/Process﹕ Sending signal. PID: 855 SIG: 9 [/shcode]
  13. سلام میخام به بانک mysql داخل wampserver وصل بشم ولی این خطا ها رو میده 08-20 14:58:03.251 12685-12685/org.nina.nina D/dalvikvm﹕ Late-enabling CheckJNI 08-20 14:58:03.811 12685-12685/org.nina.nina D/TextLayoutCache﹕ Using debug level: 0 - Debug Enabled: 0 08-20 14:58:04.101 12685-12685/org.nina.nina D/libEGL﹕ loaded /system/lib/egl/libGLES_android.so 08-20 14:58:04.161 12685-12685/org.nina.nina D/libEGL﹕ loaded /system/lib/egl/libEGL_adreno200.so 08-20 14:58:04.221 12685-12685/org.nina.nina D/libEGL﹕ loaded /system/lib/egl/libGLESv1_CM_adreno200.so 08-20 14:58:04.241 12685-12685/org.nina.nina D/libEGL﹕ loaded /system/lib/egl/libGLESv2_adreno200.so 08-20 14:58:05.121 12685-12685/org.nina.nina D/OpenGLRenderer﹕ Enabling debug mode 0 08-20 14:58:07.751 12685-12687/org.nina.nina D/dalvikvm﹕ GC_CONCURRENT freed 177K, 3% free 9077K/9351K, paused 5ms+3ms 08-20 14:58:09.601 12685-12685/org.nina.nina D/OpenGLRenderer﹕ Flushing caches (mode 0) 08-20 14:58:11.661 12685-12690/org.nina.nina I/dalvikvm﹕ threadid=3: reacting to signal 3 08-20 14:58:11.671 12685-12690/org.nina.nina I/dalvikvm﹕ Wrote stack traces to '/data/anr/traces.txt' 08-20 14:58:16.031 12685-12687/org.nina.nina D/dalvikvm﹕ GC_CONCURRENT freed 165K, 3% free 9347K/9607K, paused 9ms+20ms 08-20 14:58:27.771 12685-12687/org.nina.nina D/dalvikvm﹕ GC_CONCURRENT freed 344K, 5% free 9426K/9863K, paused 11ms+20ms 08-20 14:58:32.451 12685-12685/org.nina.nina D/FragmentForm﹕ Try to open: http://localhost/ninaserver/writetodb.php?n=hhjs&f=sjajjx&b=2021/1/24&p=djsjxz&e=dhsjxjsj@gMai.fim&ph=4313841 08-20 14:58:32.481 12685-12685/org.nina.nina D/AndroidRuntime﹕ Shutting down VM 08-20 14:58:32.481 12685-12685/org.nina.nina W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x2b547210) 08-20 14:58:32.531 12685-12685/org.nina.nina E/AndroidRuntime﹕ FATAL EXCEPTION: main android.os.NetworkOnMainThreadException at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1108) at java.net.InetAddress.lookupHostByName(InetAddress.java:391) at java.net.InetAddress.getAllByNameImpl(InetAddress.java:242) at java.net.InetAddress.getAllByName(InetAddress.java:220) at libcore.net.http.HttpConnection.(HttpConnection.java:71) at libcore.net.http.HttpConnection.(HttpConnection.java:50) at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:351) at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:86) at libcore.net.http.HttpConnection.connect(HttpConnection.java:128) at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:308) at libcore.net.http.HttpEngine.connect(HttpEngine.java:303) at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:282) at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:232) at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:273) at libcore.net.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:479) at org.nina.nina.adduser.onClick(adduser.java:99) at android.view.View.performClick(View.java:3534) at android.view.View$PerformClick.run(View.java:14263) at android.os.Handler.handleCallback(Handler.java:605) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4448) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) at dalvik.system.NativeStart.main(Native Method) 08-20 14:58:32.681 12685-12687/org.nina.nina D/dalvikvm﹕ GC_CONCURRENT freed 544K, 7% free 9313K/9927K, paused 9ms+13ms اینم کد package org.nina.nina; import android.app.Activity; import android.content.Context; import android.os.AsyncTask; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.DatePicker; import android.widget.EditText; import android.widget.Toast; import org.nina.nina.R; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; public class adduser extends Activity implements View.OnClickListener{ // An interface to display or dismiss of ProgressBar public interface OnSendingRequestToServer { public void DisplayLoding(boolean setVisibility); } EditText STUname; EditText STUfamily; EditText STUemail; EditText STUpassword; EditText STUphone; DatePicker STUborndate; Button add; private Context context; String name,family,email,password,borndate,phone; private final String TAG = "FragmentForm"; private OnSendingRequestToServer onRequestToServer; public boolean status; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_adduser); STUname = (EditText) findViewById(R.id.STUname); STUfamily = (EditText) findViewById(R.id.STUfamily); STUemail = (EditText) findViewById(R.id.STUemail); STUpassword = (EditText) findViewById(R.id.STUpassword); STUphone = (EditText) findViewById(R.id.STUphone); STUborndate = (DatePicker) findViewById(R.id.STUborndate); add = (Button) findViewById(R.id.add); add.setOnClickListener(this); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.adduser, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } @Override public void onClick(View view) { if(view.getId() == R.id.add) { name = STUname.getText().toString(); family=STUfamily.getText().toString(); email=STUemail.getText().toString(); password=STUpassword.getText().toString(); int y,m,d; y=STUborndate.getYear(); m=STUborndate.getMonth(); d=STUborndate.getDayOfMonth(); borndate=y+"/"+m+"/"+d; phone=STUphone.getText().toString(); status = false; HttpURLConnection urlConnection = null; try { URL url = new URL(linkmanager.getFormAPI(name,family,email,password,phone,borndate)); Log.d(TAG, "Try to open: " + url.toString()); urlConnection = (HttpURLConnection) url.openConnection(); int responseCode = urlConnection.getResponseCode(); Log.d(TAG, "Response code is: " + responseCode); if (responseCode == HttpURLConnection.HTTP_OK) { BufferedReader in = new BufferedReader(new InputStreamReader(urlConnection.getInputStream())); if (in != null) { StringBuilder strBuilder = new StringBuilder(); // Read character by character int ch = 0; while ((ch = in.read()) != -1) strBuilder.append((char) ch); // get returned message and show it String response = strBuilder.toString(); Log.d("Server response:", response); if (response.equalsIgnoreCase("1")) status = true; } in.close(); } } catch(MalformedURLException e){ e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { ///urlConnection.disconnect(); } if( status) Toast.makeText(context, "Vote is recorded :)", Toast.LENGTH_LONG).show(); else Toast.makeText(context, "Error happened. Please try it later :(", Toast.LENGTH_LONG).show(); } } } package org.nina.nina; /** * Created by admin on 20/08/2015. */ public class linkmanager { private final static String API_FORM = "http://localhost/ninaserver/writetodb.php?n=#@#&f=#@@#&b=#@@@#&p=#@@@@#&e=#@@@@@#&ph=#@@@@@@#"; public static String getFormAPI(String name, String family, String email, String password,String phone ,String borndate) { String url = API_FORM; url = url.replaceAll("#@#", name); url = url.replaceAll("#@@#", family); url = url.replaceAll("#@@@#", borndate); url = url.replaceAll("#@@@@#", password); url = url.replaceAll("#@@@@@#", email); url = url.replaceAll("#@@@@@@#", phone); url = url.replaceAll(" ", "%20"); return url; } public static String getCommentAPI(String deviceId) { String url = API_Comment; url = url.replaceAll("#@#", deviceId); return url; } }