কার্যটির ক্রিয়াকলাপের স্ট্যাকটি দেখুন


138

আমি এখনও প্ল্যাটফর্মটি শিখতে গিয়ে একটি সাধারণ অ্যান্ড্রয়েড অ্যাপ্লিকেশন বিকাশ শুরু করেছি।

আমি এডিটি প্লাগইন ০.৯..6 এর সাথে এক্লিপস আইডিই ব্যবহার করছি।

আমার জানা দরকার Activityযে কোনও কার্যের সাথে জড়িত স্ট্যাকটি দেখা সম্ভব কিনা ?

ডিডিএমএস সরঞ্জামের মাধ্যমে বা অন্য কোনও কৌশল দ্বারা কোনও উপায় আছে?

মূলত আমার যা প্রয়োজন তা হ'ল কোনও কাজের স্ট্যাক ক্রিয়াকলাপটি দেখার জন্য সক্ষম হোন যাতে অ্যাপ্লিকেশনটি প্রত্যাশা অনুযায়ী আচরণ করে।

আমি জানি যে Intentঅবজেক্টে পতাকা ব্যবহারের মাধ্যমে এবং <activity>উপাদানটির কয়েকটি বৈশিষ্ট্যের মাধ্যমে কিছুটা হলেও কার্য আচরণ নিয়ন্ত্রণ করা সম্ভব ।

তবে এক ধরণের সরঞ্জাম রাখা ভাল হবে - বিশেষত ডিবাগ মোডে বা তাই - যা বিকাশকারীদের Activityস্ট্যাকটি সরাসরি সামনে দেখতে দেয় ।


আপনি যদি অ্যান্ড্রয়েড স্টুডিও ব্যবহার করছেন তবে আমি একটি সমাধান পোস্ট করেছি [এখানে] [1]। [1]: স্ট্যাকওভারফ্লো.com
নেবু

উত্তর:


164

কমান্ড লাইন থেকে, আপনি ব্যবহার করতে পারেন: adb shell dumpsys activity

এটি ক্রিয়াকলাপ পরিচালককে তার বর্তমান অবস্থার কোনও ডাম্প মুদ্রণ করতে বলে। এর প্রথম অংশটি সম্পূর্ণ ক্রিয়াকলাপের ইতিহাস, টাস্ক দ্বারা সংগঠিত। এর পরে প্রচুর স্টাফও প্রিন্ট করা থাকে, তাই আপনি যা চান তা পেতে আপনাকে কিছুটা স্ক্রোল করতে হতে পারে।

এটির আউটপুট (উদাহরণস্বরূপ প্ল্যাটফর্মের সংস্করণগুলিতে হুবহু সামগ্রীগুলি পরিবর্তিত হয়) এর একটি উদাহরণ এখানে দেওয়া হয়েছে, শীর্ষস্থানীয় টাস্কটি দুটি ক্রিয়াকলাপের সাথে পরিচিতিযুক্ত এবং এর পিছনে একটি ক্রিয়াকলাপ সহ লঞ্চার:

বর্তমান ক্রিয়াকলাপ পরিচালকের রাজ্যে ক্রিয়াকলাপ:
  * টাস্করেকর্ড {44d07218 # 4 একটি অ্যান্ড্রয়েড.টাস্ক.কমট্যাক্টস}
    ক্লিয়ারঅনব্যাকগ্রাউন্ড = সত্য নম্বরঅ্যাক্টিভিটিস = 2 রুটওয়াসারসেট = সত্য
    সম্বন্ধ = android.task.contacts
    অভিপ্রায় = {অ্যাক্ট = অ্যান্ড্রয়েড.ইন্ট.অ্যাকশন.আরভি বিড়াল = [অ্যান্ড্রয়েডআইন্টেন্ট.এল.এইচআরএনএইচআর] flg = 0x10600000 সিএমপি = কম.অ্যান্ড্রয়েড কন্ট্যাক্টস / ডায়ালট্যাক্টসঅ্যাক্টিভিটি বেন্ডস [[125,640] [235,758]}
    origActivity = com.android.contacts / .DialtactsContactsEntryActivity
    realActivity = com.android.contacts / .DialtactsActivity
    শেষঅ্যাকটিভটাইম = 288203177 (14 এর জন্য নিষ্ক্রিয়)
    * হিস্ট # 8: ইতিহাসরেকর্ড {44b87a30 com.android.contacts /। ভিউকন্ট্যাক্টঅ্যাক্টিভিটি}
        প্যাকেজনাম = com.android.contacts প্রক্রিয়া নাম = android.process.acore
        চালু করাফ্রমউইড = 10004 অ্যাপ = প্রসেসরেকর্ড ec 44c4f348 1168: android.process.acore / 10004}
        অভিপ্রায় {আইন = অ্যান্ড্রয়েড.ইন্ট.অ্যাকশন.ভিউ ডেটা = বিষয়বস্তু: // কম.অ্যান্ড্রয়েড.কন্ট্যাক্টস / যোগাযোগ / দৃষ্টিভঙ্গি /144i148.144i461a29500afc8eeb/1927 cmp = com.android.contacts /। ভিউকন্ট্যাক্টঅ্যাক্টিভিটি}
        ফ্রন্টঅফটাস্ক = ভুয়া টাস্ক = টাস্কেকর্ড {44d07218 # 4 একটি অ্যান্ড্রয়েড.টাস্ক.কমট্যাক্টস}
        taskAffinity = android.task.contacts
        realActivity = com.android.contacts / .ViewContactActivity
        বেস = / সিস্টেম / অ্যাপ / পরিচিতি.এপকে / সিস্টেম / অ্যাপ্লিকেশন / পরিচিতি.অ্যাপক ডেটা = / ডেটা / ডেটা / কম.অ্যান্ড্রয়েড কন্ট্যাক্টস
        লেবেলরেস = 0x7f090012 আইকন = 0x7f02006b থিম = 0x7f0e0004
        stateNotNeeded = মিথ্যা উপাদান স্পেসিফাইড = মিথ্যা isHomeActivity = মিথ্যা
        কনফিগারেশন = {স্কেল = 1.0 ইমসি = 310/4 লোক = এন_ ইউএস স্পর্শ = 3 কী = 2/1/2 নাভি = 2/2 ওরিয়েন = 1 লেআউট = 34}
        ফলাফলটিও = ইতিহাসরেকর্ড ec 44d174d0 com.android.contacts /। ডায়ালট্যাক্টসন্ট্যাক্টস এন্ট্রিঅ্যাক্টিভিটি} ফলাফল কে = প্রিয় ফলাফলকোড = 2
        লঞ্চফেইলড = মিথ্যা হ্যাস্টেট = মিথ্যা আইসিকেল = নাল
        রাজ্য = RESUMED বন্ধ = মিথ্যা বিলম্বিত পুনরায় সূচনা = মিথ্যা সমাপ্তি = মিথ্যা
        কীপসস = মিথ্যা ইন হিস্টরি = সত্য স্থায়ী = মিথ্যা লঞ্চমোড = 0
        পূর্ণস্ক্রিন = সত্য দৃশ্যমান = সত্য হিমায়িত বিসর্জনডেস্ট্রয় = মিথ্যা থাম্বনেইলনিড = মিথ্যা নিষ্ক্রিয় = সত্য
        ওয়েটিংভিজিবল = মিথ্যা এখনই দৃশ্যমান = সত্য
    * হিস্ট # 7: ইতিহাসরেকর্ড {44d174d0 com.android.contacts /। ডায়ালট্যাক্টস যোগাযোগগুলি অন্তর্ভুক্তি c
        প্যাকেজনাম = com.android.contacts প্রক্রিয়া নাম = android.process.acore
        চালু করাফ্রমউইড = 10004 অ্যাপ = প্রসেসরেকর্ড ec 44c4f348 1168: android.process.acore / 10004}
        ইন্টেন্ট {অ্যাক্ট = অ্যান্ড্রয়েড.ইন্ট.অ্যাকটিশন.আরভি বিড়াল = [অ্যান্ড্রয়েডআইন্টেন্ট.এল.এইচআরএনএইচআর] flg = 0x10200000 সিএমপি = কম.অ্যান্ড্রয়েড কন্ট্যাক্টস /। ডায়ালট্যাক্টস যোগাযোগগুলি এন্ট্রিঅ্যাক্টিভিটি বেন্ডস [[125,640] [235,758]}
        ফ্রন্টঅফটাস্ক = সত্য টাস্ক = টাস্কেকর্ড {44d07218 # 4 একটি অ্যান্ড্রয়েড.টাস্ক.কন্ট্যাক্টস}
        taskAffinity = android.task.contacts
        realActivity = com.android.contacts / .DialtactsActivity
        বেস = / সিস্টেম / অ্যাপ / পরিচিতি.এপকে / সিস্টেম / অ্যাপ্লিকেশন / পরিচিতি.অ্যাপক ডেটা = / ডেটা / ডেটা / কম.অ্যান্ড্রয়েড কন্ট্যাক্টস
        লেবেলরেস = 0x7f090007 আইকন = 0x7f02006b থিম = 0x7f0e0000
        stateNotNeeded = মিথ্যা উপাদান স্পেসিফাইড = সত্য isHomeActivity = মিথ্যা
        কনফিগারেশন = {স্কেল = 1.0 ইমসি = 310/4 লোক = এন_ ইউএস স্পর্শ = 3 কী = 2/1/2 নাভি = 2/2 ওরিয়েন = 1 লেআউট = 34}
        লঞ্চফেইড = মিথ্যা হ্যাভস্টেট = সত্য আইসিকেল = বান্ডিল [এমপ্যারসেলডডাটা.ডাটা সাইজ = 4196]
        রাজ্য = থামানো বন্ধ = সত্য বিলম্বিত পুনরায় সূচনা = মিথ্যা সমাপ্তি = মিথ্যা
        কীপসস = মিথ্যা ইন হিস্টরি = সত্য স্থায়ী = মিথ্যা লঞ্চমোড = 2
        পূর্ণস্ক্রিন = সত্য দৃশ্যমান = মিথ্যা হিমশীতল পূর্বে ডিস্ট্রয় = মিথ্যা থাম্বনেইলনিড = মিথ্যা নিষ্ক্রিয় = সত্য
  * TaskRecord c 44c4ee90 # 2 এ com.android.launcher}
    ক্লিয়ারঅনব্যাকগ্রাউন্ড = সত্য সংখ্যাঅ্যাক্টিভিটিস = 1 রুটওয়াসরিসেট = সত্য
    সম্বন্ধ = com.android.launcher
    অভিপ্রায় = {অ্যাক্ট = অ্যান্ড্রয়েড.আইএন.টি.সি.আর.ইগ্রী বিড়াল = [android.intent.category.HOME] flg = 0x10600000 cmp = com.android.launcher /। Launcher
    realActivity = com.android.launcher / .Launcher
    শেষঅ্যাকটিভটাইম = 214734838 (73483 এর জন্য নিষ্ক্রিয়)
    * হিস্ট # 6: ইতিহাসরেকর্ড {44c4d988 com.android.launcher /। লঞ্চার}
        প্যাকেজনাম = com.android.launcher প্রক্রিয়া নাম = android.process.acore
        চালু করাফ্রমউইড = 0 অ্যাপ্লিকেশন = প্রসেসরেকর্ড {44c4f348 1168: android.process.acore / 10004}
        ইন্টেন্ট {অ্যাক্ট = android.intent.action.MAIN বিড়াল = [android.intent.category.HOME] flg = 0x10000000 cmp = com.android.launcher /। লঞ্চার}
        ফ্রন্টঅফটাস্ক = সত্য টাস্ক = টাস্কেকর্ড {44c4ee90 # 2 একটি com.android.launcher}
        taskAffinity = com.android.launcher
        realActivity = com.android.launcher / .Launcher
        বেস = / সিস্টেম / অ্যাপ / লঞ্চার.এপকে / সিস্টেম / অ্যাপ / লঞ্চার.এপকে ডেটা = / ডেটা / ডেটা / com.android.launcher
        লেবেলরেস = 0x7f0a0000 আইকন = 0x7f020015 থিম = 0x103005f
        stateNotNeeded = true উপাদানSpecified = মিথ্যা isHomeActivity = সত্য
        কনফিগারেশন = {স্কেল = 1.0 ইমসি = 310/4 লোক = এন_ ইউএস স্পর্শ = 3 কী = 2/1/2 নাভি = 2/2 ওরিয়েন = 1 লেআউট = 34}
        লঞ্চফেইড = মিথ্যা হ্যাস্টেট = সত্য আইসিকেল = বান্ডিল [এমপ্যারসেলডডাটা.ডাটা সাইজ = 5964]
        রাজ্য = থামানো বন্ধ = সত্য বিলম্বিত পুনরায় সূচনা = মিথ্যা সমাপ্তি = মিথ্যা
        কীপসস = মিথ্যা ইন হিস্টরি = সত্য স্থায়ী = মিথ্যা লঞ্চমোড = 2
        পূর্ণস্ক্রিন = সত্য দৃশ্যমান = মিথ্যা হিমশীতল পূর্বে ডিস্ট্রয় = মিথ্যা থাম্বনেইলনিড = মিথ্যা নিষ্ক্রিয় = সত্য

লগক্যাটের মাধ্যমে বর্তমান অ্যাপের সমস্ত কাজ এবং ক্রিয়াকলাপের স্ট্যাকের সমস্ত দেখানোর জন্য কি একটি দুর্দান্ত উপায় আছে? আমাদের কি সত্যিই অ্যাডবি কমান্ডটি পার্স করা দরকার?
অ্যান্ড্রয়েড বিকাশকারী

85
এছাড়াও, যদি আপনি কেবল স্ট্যাকের ক্রিয়াকলাপের নাম দেখতে চান তবে আপনি এটি করতে পারেন: adb shell <এন্টার> dumpsys activity | grep -i run
সূর্য বিজয়া মাদজিদ

6
দুর্দান্ত উত্তর! আমি একটি সুবিধা স্ক্রিপ্ট লিখেছি যা প্রদত্ত প্যাকেজের জন্য কাজগুলি / ক্রিয়াকলাপগুলি পেতে আউটপুট ফিল্টার করে।
স্কুবার্থ

5
আপনি adb shell dmpsys activityপ্রতিটি তালিকার জন্য যেমন adb shell dmpsys activity activitiesACTIVITY MANAGER ACTIVITIES এর জন্য প্রধান স্ট্যাক, চলমান ক্রিয়াকলাপ এবং সাম্প্রতিক কাজগুলি অন্তর্ভুক্ত পেতে পারেন। dumpsys activity intentsমুলতুবি ইন্টেন্টের জন্য; dumpsys activity broadcastsসম্প্রচারের রাষ্ট্রের জন্য; dumpsys activity providersসামগ্রী সরবরাহকারীদের জন্য; dumpsys activity servicesসেবা জন্য; dumpsys activity processesচলমান প্রক্রিয়া জন্য।
ফ্রেড্রিক গাউস

1
@ সূর্যউইজায়া ম্যাডজিদের কমান্ডটি এক লাইনে করা যেতে পারে: adb shell dumpsys activity | grep -i runঅথবা adb shell dumpsys activity activities | grep -i runকিছুটা পরিষ্কার পরিচ্ছন্নতার জন্য।
ওয়াঘানড্রয়েড

58

সিস্টেমে কাজ এবং ব্যাকস্ট্যাকগুলি দেখতে আপনি আপনার কমান্ড লাইনে নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন:

adb shell dumpsys activity activities | sed -En -e '/Stack #/p' -e '/Running activities/,/Run #0/p'

অথবা আপনি টাস্কলগার চেষ্টা করতে পারেন , একটি সাধারণ সরঞ্জাম যা আমি তৈরি করেছি যা আপনার অ্যাপ্লিকেশানের সমস্ত ক্রিয়াকলাপ এবং কার্যগুলি পর্যবেক্ষণ করতে পারে এবং এগুলিকে রিয়েল-টাইমে লগকটে আউটপুট দেয়।


+1 .... আমি আপনার টাস্কলগারটি চেষ্টা করেছি এটি ভাল সরঞ্জাম এবং আমাকে অনেক সাহায্য করে, তবে অযাচিত লগগুলির তুষারপাত প্রিন্ট করে।
থিংডিপ

34

আমি জানি এটি একটি পুরানো প্রশ্ন তবে, এই কার্যকারিতাটি এখন অ্যান্ড্রয়েড স্টুডিওতে বেক করা হয়েছে:

অ্যান্ড্রয়েড স্টুডিওর স্ক্রিনশট

তারপরে ফলাফল পাঠ্য ফাইলে অনুসন্ধান করুন ACTIVITY(সমস্ত ক্যাপ):

অ্যান্ড্রয়েড স্টুডিও টেক্সট ফাইল স্ক্রিনশট


20
আমি মনে করি যে অ্যান্ড্রয়েড স্টুডিও 3.0 এ নতুন অ্যান্ড্রয়েড প্রোফাইলার উইন্ডোটি অ্যান্ড্রয়েড মনিটর সরঞ্জামগুলি প্রতিস্থাপন করেছে বলে এই বিকল্পটির আর অস্তিত্ব নেই।
ফল

5
আমি এই অনুপস্থিত ফাংশনটির জন্য ইস্যু তৈরি করেছি: ইস্যুজেট্রেকার জিও / বিএসইউ / 77944626 তাই দয়া করে এটির জন্য ভোট দিন। ধন্যবাদ
এমট্রাকাল

27

আপনি যদি একটি নির্দিষ্ট প্যাকেজের টাস্ক স্ট্যাকটি পরিদর্শন করতে চান তবে নিম্নলিখিত কমান্ডটি করবে:

adb shell dumpsys activity activities | grep PACKAGE_NAME | grep Hist

12

আমি সবসময় দীর্ঘ ডাম্প বার্তার এই অংশটি যাচাই করি ..

  Running activities (most recent first):
TaskRecord{4307f828 #56 A com.demo.proj U 0}
  Run #4: ActivityRecord{425a6838 com.demo.proj/com.demo.proj.Activity2}
  Run #3: ActivityRecord{427dc860 com.demo.proj/com.demo.proj.Activity1}
  Run #2: ActivityRecord{420cba18 com.demo.proj/com.demo.proj.MainActivity}
TaskRecord{430341d0 #2 A com.lge.launcher2 U 0}
  Run #1: ActivityRecord{41e0af68 com.lge.launcher2/.Launcher}
TaskRecord{44e26ce0 #18 A com.lge.appbox.client U 0}
  Run #0: ActivityRecord{41e9dbe8 com.lge.appbox.client/.AppBoxClient}

দ্রষ্টব্য: রান # 4 ক্রিয়াকলাপ যা আপনি এখন স্ক্রিনে দেখেন see :)


2
"দীর্ঘ ডাম্প বার্তা" কি?
মারিয়ান প্যাডজিওচ

2
@ মারিয়ানপাডজিওচ "অ্যাডিবি শেল ডাম্পসিস ক্রিয়াকলাপ" আমাদের খুব দীর্ঘ বার্তা দেখায়। উপরের এই বার্তাগুলি তাদের মধ্যে কিছুটা। যাইহোক, আমি একটি টিপ পেয়েছি এড়াতে পারেন। এটি চালান, "অ্যাডিবি শেল ডাম্পসিস ক্রিয়াকলাপ ক্রিয়াকলাপগুলি" আপনি সংক্ষিপ্ত বার্তা দেখতে পারেন এবং ক্রিয়াকলাপের স্ট্যাকের সম্পর্কে আরও সহজেই পড়তে পারেন। :)
সেমিক্রোমেন্স

1
... এবং যদি তালিকাটি এখনও দীর্ঘ হয় তবে সাম্প্রতিক অ্যাপ্লিকেশন তালিকাটি খুলুন এবং কিছু কাজ স্যুইপ করুন।
ব্যারি ফ্রুটম্যান

10

আপনি hierarchyviewer.bat সরঞ্জামটি ব্যবহার করতে পারেন। এটি অ্যান্ড্রয়েড এসডিকে অংশ। এটি কেবল এমুলেটর সহ কাজ করে। তবে এটি অনেক বেশি সাফ এবং স্পষ্টরূপে।

সম্পাদনা: আমি সবেমাত্রগ্রহণের মধ্যে ক্রমবর্ধমান ভিউয়ারকে পেয়েছি! এবং এটি বাস্তব ডিভাইসগুলির সাথেও কাজ করে। উইন্ডো-> ওপেন প্রেস্টিপেক্টিও-> শ্রেণিবিন্যাস দেখুন দৃষ্টিকোণটি খালি তালিকায় আপনি সংযুক্ত সমস্ত ডিভাইস এবং অনুকরণকারী এবং ক্রিয়াকলাপের স্ট্যাক দেখতে পারেন। এবং গাছের ভিউ ছাড়াও আপনি নিজে ভিউ সম্পর্কে আরও অনেক তথ্য দেখতে পাবেন।

সম্পাদনা করুন: শ্রেণিবদ্ধ ভিউয়ার কেবল বিকাশকারী ডিভাইসগুলির সাথে কাজ করবে। সুরক্ষা কারণে উত্পাদনের ডিভাইসগুলি এটি করতে পারে না। আরও তথ্যের জন্য দয়া করে নীচের উত্তরটি একবার দেখুন


4
ক্রমবর্ধমান ভিউয়ার একটি ক্রিয়াকলাপের দর্শন শ্রেণিবদ্ধতা দেখার জন্য। প্রশ্নটি ছিল কার্য / ক্রিয়াকলাপের স্ট্যাক সম্পর্কে ।
জেরেমি লোগান

8

সাম্প্রতিক কাজগুলির তালিকার জন্য

adb shell dumpsys activity recents

চলমান পরিষেবার তালিকার জন্য

adb shell dumpsys activity services

বর্তমান সামগ্রী সরবরাহকারীদের তালিকার জন্য

adb shell dumpsys activity providers

সম্প্রচারের রাজ্যের তালিকার জন্য

adb shell dumpsys activity broadcasts

মুলতুবি ইন্টেন্টের তালিকার জন্য

adb shell dumpsys activity intents

অনুমতি তালিকার জন্য

adb shell dumpsys activity permissions

আপনি যদি আরও GUI-sh উপায় পছন্দ করেন AdbCommanderতবে প্লাগইনটি ব্যবহার করতে পারেন এবং macrosট্যাবগুলিতে সেই আদেশগুলি যুক্ত করতে পারেন
prot0n


1

সমাধান: 'অ্যাডবি শেল ডাম্পসিস ক্রিয়াকলাপ' ট্যাবএকটিভিটির সাথে কাজ করে না। প্রতিটি ট্যাব আইটেম নির্বাচন করা হলে, সম্পর্কিত ক্রিয়াকলাপ চালু হবে। তবে 'অ্যাডবি শেল ডাম্পসিস ক্রিয়াকলাপ' ব্যবহার করার সময় এটি 'মূল' ক্রিয়াকলাপটি সর্বদা ফিরে আসে:

public class main extends TabActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        Log.e("xyz", "start main...............");
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Resources res = getResources(); // Resource object to get Drawables
        TabHost tabHost = getTabHost();  // The activity TabHost
        TabHost.TabSpec spec;  // Resusable TabSpec for each tab
        Intent intent;  // Reusable Intent for each tab

        // Create an Intent to launch an Activity for the tab (to be reused)
        intent = new Intent().setClass(this, widgets.class);
        spec = tabHost.newTabSpec("Widgets").setIndicator("Widgets", res.getDrawable(R.drawable.tab1)).setContent(intent);
        tabHost.addTab(spec);

        intent = new Intent().setClass(this, layouts.class);
        spec = tabHost.newTabSpec("Layouts").setIndicator("Layouts",res.getDrawable(R.drawable.tab2)).setContent(intent);
        tabHost.addTab(spec);

        intent = new Intent().setClass(this, composite1.class);
        spec = tabHost.newTabSpec("Composite").setIndicator("Composite",res.getDrawable(R.drawable.tab3)).setContent(intent);
        tabHost.addTab(spec);

        intent = new Intent().setClass(this, imageMedia.class);
        spec = tabHost.newTabSpec("Image_Media").setIndicator("Image&Media",res.getDrawable(R.drawable.tab4)).setContent(intent);
        tabHost.addTab(spec);

        intent = new Intent().setClass(this, timeDate.class);
        spec = tabHost.newTabSpec("Time_Date").setIndicator("Time&Date",res.getDrawable(R.drawable.tab5)).setContent(intent);
        tabHost.addTab(spec);

        intent = new Intent().setClass(this, transitions.class);
        spec = tabHost.newTabSpec("Transitions").setIndicator("Transitions",res.getDrawable(R.drawable.tab6)).setContent(intent);
        tabHost.addTab(spec);

        intent = new Intent().setClass(this, advanced.class);
        spec = tabHost.newTabSpec("Advanced").setIndicator("Advanced",res.getDrawable(R.drawable.tab7)).setContent(intent);
        tabHost.addTab(spec);

        intent = new Intent().setClass(this, others.class);
        spec = tabHost.newTabSpec("Others").setIndicator("Others",res.getDrawable(R.drawable.tab8)).setContent(intent);
        tabHost.addTab(spec);

        intent = new Intent().setClass(this, Dynamic.class);
        spec = tabHost.newTabSpec("Dynamic").setIndicator("Dynamic",res.getDrawable(R.drawable.tab2)).setContent(intent);
        tabHost.addTab(spec);

        tabHost.setCurrentTab(0);

    }
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.