-
المساهمات
1070 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
15
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو Mohamd Imran
-
بالتأكيد يمكنك عمل ذلك من خلال التعديل على ملف html وتعديل التنسيقات الستايل من خلال ملف css
-
تمام @Adn Alaoui هذه القسم الصحيح لكن لا يظهر تقسيمات متوفرة السبب هو أن الثيم المطبق لمدونتك لا يدعم ذلك ,يمكنك تغيير الثيم وبعد ذلك سيظهر لك تقسيمات لتغيير الثيم إضغط على Themes سيظهر لك الثيمات في الأسفل إختر ما يعجبك وقم بتطبيقه
-
@Adn Alaoui جرب المظاهر إن لم تجده قم بتغيير اللغة إلى الإنجليزية
- 17 اجابة
-
- 1
-
أتوقع إسمها بالعربي متقدم أو خلفية
- 17 اجابة
-
- 1
-
لا أعلم ما هو الثيم الذي تريد لكن يمكنك الإطلاع وتغيير ثيم مدونتك من خلال الخطوات التي ذكرتها مثل الصورة تحت رقم ٢ في الأسفل ستجد عدة ثيمات إختر الذي تريد ,ولتغيير تقسيمات الثيم أو الواجهة إضغط على customize باللون البرتقالي ثم من الصفحة التي ظهر إختر Layout من اليسار هذه سيظهر لك عدة تقسيمات للواجهة إختر الذي تريد حتى تصل إلى الشكل الذي تريد بعد الإنتهاء من إختيار التصميم أو التقسيم إضغط على زر Apply to Blog فوق على اليمين باللون البرتقالي
-
ما قصدته إنك تحتاج إلى تعديل كود ال HTML من خلال الذهاب إلى Blogger وتسجيل الدخول ثم إختيار المدونة التي تريد تعديلها بعد ذلك من القائمة اليسرى إختر Theme ثم تحت Live on Blog إضغط Edit HTML هنا قم بالتعديلات التي تريد تغييرها على المدونة ثم بعد التعديل إضغط Save theme
- 17 اجابة
-
- 1
-
مرحباً @Adn Alaoui هذه يعتمد على المدونة الخاصة بك وطبيعة ترتيب القائمة الرئيسية وتقسيماتها ,يجب عليك القيام بتغيير الستايل الخاص بالمدونة ليتناسب مع التقسيم الذي تريد في الصور
-
إن كان كذلك تفضل هذه برنامج جافا مفتوح المصدر متوفر على github هو InventoryManagementSystem متقدم متوفر هنا
- 4 اجابة
-
- 1
-
السلام عليكم أخي @صالح السوفي أتوقع أنه من الصعب العثور على برامج (تطبيقات أندرويد) مفتوحة المصدر بشكل مجاني ,لذلك أتوقع من الأفضل القيام بعمله من البداية لربح الوقت
- 4 اجابة
-
- 1
-
أهلا بك أخي @مروان مروان3 تمام أولا نحتاج إلى عمل ال api الخاص بإستلام البيانات القادمة من التطبيق وهي عدد النجمات في قسم السيرفر ,نقوم بعمل ملف php بسيط <?php include 'Config.php'; $con = mysqli_connect($HostName,$HostUser,$HostPass,$DatabaseName); $s_count = $_POST['stars_count']; $Sql_Query = "insert into Userd (stars_count) values ('$s_count')"; if(mysqli_query($con,$Sql_Query)){ echo 'Stars Count Inserted Successfully'; } else{ echo 'Try Again'; } mysqli_close($con); ?> ملاحظة لا تنسى تغيير include 'config.php' بالملف الخاص بك ,تمام هنا إنتهينا من جهة السيرفر قم بإعطاء الملف إسم مثلاً insert_stars.php نذهب إلى أندرويد إستديو نقوم بعمل requestqueue في الكلاس MainActivity مثلا RequestQueue requestQueue; وأيضا نقوم بعمل متغير من نوع string ونقوم بإعطائه الرابط للسيرفر الخاص بنا مع إسم الملف مثال String HttpUrl = "http://test.com/insert_stars.php"; والأن في ال onCreate ميثود نقوم بعمل طلب Volly جديد هكذا requestQueue = Volley.newRequestQueue(MainActivity.this); ونقوم بعمل ميثود من نوع StringRequest خارج ال onCreate ميثود هكذا StringRequest stringRequest = new StringRequest(Request.Method.POST, HttpUrl, new Response.Listener<String>() { @Override public void onResponse(String ServerResponse) { // Showing Server response coming from server. Toast.makeText(MainActivity.this, ServerResponse, Toast.LENGTH_LONG).show(); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError volleyError) { // Showing Server Error message . Toast.makeText(MainActivity.this, volleyError.toString(), Toast.LENGTH_LONG).show(); } }) { قمت بإضافة توست لإظهار الرسالة القادمة من السيرفر في حالة نجاح إدخال البيانات وكذلك توست أخر في حالة حدوث خطأ وأيضا نقوم بعمل ميثود أخرى تقوم بإرجاع عدد النجمات أسفل الميثود الأولى @Override protected Map<String, String> getParams() { Map<String, String> params = new HashMap<String, String>(); // Adding AllStars value to Params. params.put("stars_count", starsparam); return params; } }; لكن قم بتغيير الجزر الأول هنا params.put("stars_count", starsparam); وهو stars_count إلى إسم الحقل في قاعدة البيانات والجزء الثاني المتغير الخاص بعدد النجوم ,الأن جزء ال Volly نقوم بعمل طلب volly جديد ونقوم بتمرير الميثود الأولى له هكذا // Creating RequestQueue. RequestQueue requestQueue = Volley.newRequestQueue(MainActivity.this); // Add the stars StringRequest object into requestQueue. requestQueue.add(stringRequest); يمكنك إضافة السطرين إلى الميثود onCreate هكذا إنتهينا ,ولا تنسى إضافة ال internet permıssıon إلى ملف mainfest <uses-permission android:name="android.permission.INTERNET"/> الجزء أعلاه لإدخال عدد النجوم إلى قاعدة البيانات ,الأن بخصوص جزء إستعادة عدد النجوم من قاعدة البيانات ووضعها في ال ratingbar نبدأ سبق لك إستخدام volly لإرجاع البيانات هذا الجزء أتوقع سهل نقوم بعمل ميثود لذلك /** * Method to make json object request where json response to get StarsCount via Server { * */ private void starsCountJsonRequest() { JsonObjectRequest jsonObjReq = new JsonObjectRequest(Method.GET, urlJsonObj, null, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { Log.d(TAG, response.toString()); try { // Parsing json object response // response will be a json object String starscount = response.getString("starsC"); jsonResponse = ""; jsonResponse += starscount; starsbar.numStars(jsonResponse); } catch (JSONException e) { e.printStackTrace(); Toast.makeText(this, "Error: " + e.getMessage(), Toast.LENGTH_LONG).show(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { VolleyLog.d(TAG, "Error: " + error.getMessage()); Toast.makeText(this, error.getMessage(), Toast.LENGTH_SHORT).show(); } }); // Adding request to request queue AppController.getInstance().addToRequestQueue(jsonObjReq); } طبعاً هنا starsbar هو ال RatingBar فيو هنا starsbar.numStars(jsonResponse);
-
وعليكم السلام أخي @مروان مروان3 الأمر سهل ,يمكنك عمل ذلك من خلال إضافة Ratingbar فيو في الlayout الذي تريد هكذا <RatingBar android:id="@+id/RatingBar" android:layout_width="wrap_content" android:layout_height="wrap_content" /> وقم بإعطاءه id معين ,والأن نقوم بالإشارة إليه(تفعيله initiate) في ال onCreate ميثود بعد setContentview بهذه الطريقة RatingBar simpleRatingBar = (RatingBar) findViewById(R.id.RatingBar); ونقوم بإرجاع عدد النجمات المختارة من قبل المستخدم من خلال الميثود getNumStars(); ستقوم بإرجاع عدد النجمات المختارة هكذا int Starscount = simpleRatingBar.getNumStars(); بعد ذلك يمكنك حفظ القيمة في قاعدة البيانات القيمة تخزن في المتغير Starscount ,وبخصوص الحفظ والإسترجاع من قاعدة البيانات هل تريد مثال لقاعدة بيانات محلية ؟أم بإستخدام api أي حفظ عن بعد
- 6 اجابة
-
- 1
-
مرحباً بك @Safwat Alobaidi يرجى التواصل مع الدعم الفني وسيقومون بحل ذلك
-
وعليكم السلام أخي @صالح السوفي صحيح ,يوجد عدة طرق لتفادي ضياع بيانات المستخدم ,منهنا والأفضل هو القيام بعمل قاعدة بيانات محلية للبرنامج أو التطبيق وتحديث قاعدة البيانات بأي تغييرات أو بيانات جديدة ,ومن ثم رفعها النسخة الحديثة على سيرفر بهذه الطريقة ستكون قد حفظت بيانات المستخدم من التلف وأيضاً إحتفظت بنسخة إحتياطية لقاعدة البيانات وهي الجزء الأساسي الذي يحتوي على كافة بيانات البرنامج أو التطبيق ولن تتأثر بالخلل الذي قد يحدث على البرنامج محلياً
- 2 اجابة
-
- 3
-
مرحباً @Hawraa Qasim الأمر بسيط يمكنك عمل البرنامج هكذا #include <iostream> using namespace std; int main() { int n, i, m=0, flag=0; cout << "أدخل عدد للتأكد من أنه أولي: "; cin >> n; m=n/2; for(i = 2; i <= m; i++) { if(n % i == 0) { cout<<"العدد غير أولي"<<endl; flag=1; break; } } if (flag==0) cout << "العدد أولي"<<endl; return 0; }
- 2 اجابة
-
- 1
-
وعليكم السلام @Anas Ghobary تأكد من تثبيت Java JDK تفضل هذا رابط التنزيل للويندوز 64bit جافا JDK إن قمت بالتثبيت فعلا وما زالت المشكلة ,إتبع الخطوات التالية أولاً عند تشغيل ال Installer قم بتشغيله كمسؤول من خلال تحديده ومن ثم الضغط على زر الماوس الأيمين وتشغيل كمسؤول ,ثانياً قم بتشغيل المثبت من خلال واجهة الأوامر في حال لم تجدي الخطوة الأولى نفعاً إضغط زر علامة الويندوز من الكيبود + حرف R ثم أكتب cmd وقم بالذهاب إلى مسار تنزيل المثبت الخاص ب netbeans وأضف الأمر التالي في واجهة الأوامر مع تغيير {yourusernamehere} إلى إسم مستخدم الجهاز الخاص بك وتغيير javahome إلى مسار تثبيت java JDK لديك بعد ذلك إضغط Enter C:\Users\{yourusernamehere}\Documents\Downloads\netbeans-6.5-ml-windows.exe –-javahome "C:\Program Files (x86)\Java\jdk1.6.0_18"
- 1 جواب
-
- 2
-
لتعبئة بيانات من خلال intent أولا نقوم بتعريف متغير مثلاً private final static int REQUEST_CODE_1 = 1; نستخدم التالي لإرسال البيانات من الأكتيفتي المرسل Intent intent = new Intent(Source.this, Target.class); intent.putExtra("message", "This message comes from Source Actıvıty"); startActivity(intent); لكن إن أردت أرسال البيانات والإنتظار إستلام بيانات من الأكتيفتي الهدف نستخدم التالي ولإستلام البيانات في أكتيفيتي أخر نستخدم Intent intent = getIntent(); String message = intent.getStringExtra("message"); TextView textView = (TextView)findViewById(R.id.requestDataTextView); textView.setText(message); مع تمرير إسم ال key للميثود getStringExtra. وفي حالتك أنت تستخدم MaterialBetterSpinner هي نفس الطريقة لكن نضيف النص المستلم من ال intent إلى المصفوفة مثال Intent intent = getIntent(); String message = intent.getStringExtra("message"); ArrayList<String> arrayList = new ArrayList<>(); arrayList.add("text"); arrayList.add(message); ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, arrayList);
- 4 اجابة
-
- 2
-
السلام عليكم أخي @مروان مروان3 الجزء المسؤول على إضافة البيانات هو المصفوفة SPINNER_DATA2 في الكود الخاص بك ,تأكد منها إن كانت تحوي بيانات يمكنك عمل المصفوفة وإضافة البيانات لها مثل ArrayList<String> arrayList = new ArrayList<>(); arrayList.add("text"); arrayList.add("text1"); arrayList.add("text2"); arrayList.add("text3"); arrayList.add("text4"); arrayList.add("text5"); ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, arrayList); لاحظ هنا في ال arrayAdapter نقوم بتمرير المصفوفة هنا إسمها arrayList new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, arrayList); وبخصوص الخطأ الذي يظهر لك معناه أن ال textview فارغ null android.widget.TextView.setText تأكد من أنك قمت بتعريفه في ال onCreate ميثود
- 4 اجابة
-
- 1
-
السلام عليكم أخي @مروان مروان3 حسب ما فهمت إنك تريد تكبير حجم الصورة بعد ضغط المستخدم عليها ,إن كان كذلك ,يمكنك القيام بذلك من خلال إعطاء id لل imageview مثال <ImageView android:id="@+id/image_id" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/picture" android:clickable="true" /> ثم إستخدام setonclicklistener على ال image view وداخل onClick نقوم بتغيير الحجم من خلال LayoutParams هكذا LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(newWidth, newHeight); imageView.setLayoutParams(params); مع تغيير قيم newWidth , newHeight بالحجم الذي تريده
- 2 اجابة
-
- 1
-
السلام عليكم أخي @مروان مروان3 سبب الخطأ هو أنك لم تقم بتمرير View معين أي فارغ null لحل المشكلة جرب التالي tabCalls = (View) findViewById(R.id.tabCalls);
- 2 اجابة
-
- 1
-
السلام عليكم أخي ,ما الرابط الخاص بالموقع بعد التثبيت لو سمحت ؟
- 3 اجابة
-
- 1
-
أهلاً بك @Saloua El Bacha يمكنك تعلم لغة جافا لبرمجة تطبيقات الأندرويد من عدة مصادر مجانية من خلال فيديوهات اليوتيوب وهذا واحدة منهم تعلم الأندرويد من الصفر ,سيساعدك ذلك في البداية ومن ثم قومي تطوير نفسك من خلال العثور على مشاريع جاهزة وقومي بالتطوير عليها قليلاً وهذا سيسرع من عملية تعلمك لبرمجة التطبيقات بلغة جافا بإستخدام أندرويد ستديو
- 3 اجابة
-
- 2
-
السلام عليكم ,وظيفته هي تغيير ستايل معين لعنصر معين تأخذ متغييرين الأول هو الخاصية والمتغير الثاني هو القيمة مثال بسيط setProperty("background-color", "yellow"); مع مثالك تكون هكذا document.documentElement.style.setProperty("background-color", "yellow"); ستقوم بتغيير الخاصية background-color الخاص بالعنصر المحدد إلى اللون الأصفر
- 6 اجابة
-
- 2
-
السلام عليكم أخي ,شكرا لك سأطلع على الكود وأقوم بحل المشكلة وسأقوم بإخبارك ,قد يأخذ بعض الوقت
- 11 اجابة
-
- 2
-
أهلا بك أخي @مروان مروان3 بالطبع يمكنك ذلك من خلال عمل ميثود للإخفاء وميثود للإظهار وإستدعاء مثلاً الميثود الخاص بالإخفاء في الزر الثاني والثالث وقمت بعمل الميثودز لك public void showTabLayout() { parentTabs.setVisibility(View.VISIBLE); } public void hideTabLayout() { parentTabs.setVisibility(View.GONE); } ويمكنك إستدعاء الميثود التي تريد مثلا لإظهار tablayout نستدعي الميثود showTabLayout والعكس
- 4 اجابة
-
- 2