switching to / loading another view layout

Put problem concerning Views, Layouts and other XML-Resources (like AndroidManifest) here.

switching to / loading another view layout

Postby reynolds » Fri Mar 13, 2009 9:39 am

Hi guys, its me again. now I'm studying of how to switch between views.

I'm trying to make a wallpaper changer app. It got a gallery and some buttons for setting the current display as wallpaper.

the reason I must put another View is for the fullscreen preview, without buttons and the gallery.

If I do a single tap on the selected image, it should display the preview layout, and then once done, close and show the main view.
However, when It tried to load the "preview" layout, it crashes. I've been trying to fiind what I'm doing wrong, still no luck. Did I miss something here? Thanks

Syntax: [ Download ] [ Hide ]
Using java Syntax Highlighting
  1.  
  2. package mrm.demo2;
  3.  
  4.  
  5.  
  6.  
  7.  
  8. import java.io.IOException;
  9.  
  10. import java.io.InputStream;
  11.  
  12.  
  13.  
  14.  
  15.  
  16. import android.app.Activity;
  17.  
  18. import android.app.AlertDialog;
  19.  
  20. import android.content.Context;
  21.  
  22. import android.content.DialogInterface;
  23.  
  24. import android.os.Bundle;
  25.  
  26.  
  27.  
  28. import android.util.Log;
  29.  
  30.  
  31.  
  32. import android.view.GestureDetector;
  33.  
  34. import android.view.MotionEvent;
  35.  
  36. import android.view.View;
  37.  
  38. import android.view.ViewGroup;
  39.  
  40. import android.view.Window;
  41.  
  42. import android.view.WindowManager;
  43.  
  44.  
  45.  
  46. import android.view.GestureDetector.OnGestureListener;
  47.  
  48. import android.view.View.OnClickListener;
  49.  
  50. import android.view.View.OnLongClickListener;
  51.  
  52. import android.view.View.OnTouchListener;
  53.  
  54. import android.widget.AdapterView;
  55.  
  56. import android.widget.BaseAdapter;
  57.  
  58. import android.widget.Button;
  59.  
  60. import android.widget.Gallery;
  61.  
  62. import android.widget.ImageButton;
  63.  
  64. import android.widget.ImageView;
  65.  
  66. import android.widget.TextView;
  67.  
  68. import android.widget.Gallery.LayoutParams;
  69.  
  70.  
  71.  
  72. public class Demo2 extends Activity implements AdapterView.OnItemSelectedListener, AdapterView.OnItemClickListener {
  73.  
  74.     /** Called when the activity is first created. */
  75.  
  76.         public int switcher = 0;
  77.  
  78.         public int maxSwitcher = 8;
  79.  
  80.        
  81.  
  82.         private static final String LOG_TAG = "Home";
  83.  
  84.         private Gallery mGallery;
  85.  
  86.     private static final Integer[] IMG = {
  87.  
  88.                 R.drawable.wallpp1,
  89.  
  90.                 R.drawable.wallpp2,
  91.  
  92.                 R.drawable.wallpp3,
  93.  
  94.                 R.drawable.wallpp4,
  95.  
  96.                 R.drawable.wallpp5,
  97.  
  98.                 R.drawable.wallpp6,
  99.  
  100.                 R.drawable.wallpp7,
  101.  
  102.                 R.drawable.wallpp8,
  103.  
  104.                 R.drawable.wallpp9
  105.  
  106.     };
  107.  
  108.  
  109.  
  110.     @Override
  111.  
  112.     public void onCreate(Bundle savedInstanceState) {
  113.  
  114.         super.onCreate(savedInstanceState);
  115.  
  116.         this.setNoTitle();
  117.  
  118.         this.setFullscreen();
  119.  
  120.         showMain();
  121.  
  122.        
  123.  
  124.        
  125.  
  126.     }
  127.  
  128.     ////////////////////////////////
  129.  
  130.     public void showMain()
  131.  
  132.     {
  133.  
  134.         setContentView(R.layout.image1);
  135.  
  136.        
  137.  
  138.         btnShow().setBackgroundResource(IMG[switcher]);
  139.  
  140.        
  141.  
  142.         this.btnOnChangeImageEvent(btnShow());
  143.  
  144.  
  145.  
  146.        
  147.  
  148.         this.setOnLongPressListenerEvent(btnShow());
  149.  
  150.  
  151.  
  152.         mGallery = (Gallery) findViewById(R.id.gallery);
  153.  
  154.         mGallery.setAdapter(new ImageAdapter(this));
  155.  
  156.         mGallery.setOnItemSelectedListener(this);
  157.  
  158.         mGallery.setOnItemClickListener(this);
  159.  
  160.        
  161.  
  162.         final TextView txtSet = (TextView)findViewById(R.id.txtSetWallPP);
  163.  
  164.         final TextView txtcloseApp = (TextView)findViewById(R.id.txtcloseApp);
  165.  
  166.        
  167.  
  168.         txtSet.setOnClickListener(new OnClickListener() {
  169.  
  170.  
  171.  
  172.                         @Override
  173.  
  174.                         public void onClick(View v) {
  175.  
  176.                                 // TODO Auto-generated method stub
  177.  
  178.                                 selectWallpaper(switcher);
  179.  
  180.  
  181.  
  182.                         }
  183.  
  184.         });
  185.  
  186.        
  187.  
  188.        
  189.  
  190.         ////////////////////////////////////////////////////////////
  191.  
  192.         //////////////////////////////////////////////////////////////////
  193.  
  194.         txtcloseApp.setOnClickListener(new OnClickListener() {
  195.  
  196.  
  197.  
  198.                         @Override
  199.  
  200.                         public void onClick(View v) {
  201.  
  202.                                 // TODO Auto-generated method stub
  203.  
  204.                                 onDestroy();
  205.  
  206.                                 finish();
  207.  
  208.                                
  209.  
  210.                         }
  211.  
  212.         });
  213.  
  214.  
  215.  
  216.     }
  217.  
  218.     ////////////////////////////////
  219.  
  220.     public void showPreview()
  221.  
  222.     {
  223.  
  224. ;
  225.  
  226.         setContentView(R.layout.preview);
  227.  
  228.        
  229.  
  230.        
  231.  
  232.         final ImageView ImgPreview = (ImageView)findViewById(R.id.imgPreview);
  233.  
  234.         ImgPreview.setBackgroundResource(IMG[switcher]);
  235.  
  236.         ImgPreview.setBackgroundResource(IMG[switcher]);
  237.  
  238.        
  239.  
  240.         ImgPreview.setOnClickListener(new OnClickListener() {
  241.  
  242.                         @Override
  243.  
  244.                         public void onClick(View v) {
  245.  
  246.                                 showMain();
  247.  
  248.                         }
  249.  
  250.                
  251.  
  252.         });
  253.  
  254.        
  255.  
  256.        
  257.  
  258.     }
  259.  
  260.    
  261.  
  262.     ////////////////////////////////
  263.  
  264.     public void setOnLongPressListenerEvent(final Button btn) {
  265.  
  266.         final GestureDetector gd = new GestureDetector(new GestureDetector.SimpleOnGestureListener(){
  267.  
  268.              @Override
  269.  
  270.              public void onLongPress(MotionEvent e) {
  271.  
  272.                   // handle longpress to Mapview...
  273.  
  274.                  //setTitle("long press");
  275.  
  276.                  //setContentView(R.layout.preview);
  277.  
  278.                  
  279.  
  280.              }
  281.  
  282.              @Override
  283.  
  284.                 public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
  285.  
  286.                                 float velocityY) {
  287.  
  288.                         // TODO Auto-generated method stub
  289.  
  290.                  
  291.  
  292.                  int _x1 = (int)e1.getX();
  293.  
  294.                  int _x2 = (int)e2.getX();
  295.  
  296.                        
  297.  
  298.                        
  299.  
  300.                         if(_x1 < _x2)
  301.  
  302.                                 {
  303.  
  304.                                         if(switcher<=0)
  305.  
  306.                                         {
  307.  
  308.                                                 switcher=maxSwitcher;
  309.  
  310.                                         }
  311.  
  312.                                         else
  313.  
  314.                                         {
  315.  
  316.                                                 switcher--;
  317.  
  318.                                         }
  319.  
  320.                                        
  321.  
  322.                                 }
  323.  
  324.                                 else
  325.  
  326.                                 {
  327.  
  328.                                         if(switcher>=maxSwitcher)
  329.  
  330.                                         {
  331.  
  332.                                                 switcher=0;
  333.  
  334.                                         }
  335.  
  336.                                         else
  337.  
  338.                                         {
  339.  
  340.                                                 switcher++;
  341.  
  342.                                         }
  343.  
  344.                                                                                                
  345.  
  346.                                 }
  347.  
  348.                         setTitle((switcher+1) + "/" + (maxSwitcher+1));
  349.  
  350.                         btnShow().setBackgroundResource(IMG[switcher]);
  351.  
  352.                         return false;
  353.  
  354.                 }
  355.  
  356.              
  357.  
  358.                 @Override
  359.  
  360.                 public boolean onSingleTapUp(MotionEvent e) {
  361.  
  362.                         // TODO Auto-generated method stub
  363.  
  364.                         showPreview();
  365.  
  366.                         return false;
  367.  
  368.                 }
  369.  
  370.  
  371.  
  372.         });
  373.  
  374.        
  375.  
  376.         btn.setOnTouchListener(new OnTouchListener(){
  377.  
  378.              @Override
  379.  
  380.              public boolean onTouch(View v, MotionEvent ev) {
  381.  
  382.                   return gd.onTouchEvent(ev);
  383.  
  384.              }
  385.  
  386.              
  387.  
  388.         });
  389.  
  390.    }    
  391.  
  392.     ////////////////////////////////
  393.  
  394.     public Button btnShow()
  395.  
  396.     {
  397.  
  398.         return (Button)findViewById(R.id.btnClose);
  399.  
  400.     }
  401.  
  402.     ////////////////////////////////
  403.  
  404.     public void btnOnChangeImageEvent(final Button btn)
  405.  
  406.     {
  407.  
  408.         btn.setOnClickListener(new OnClickListener() {
  409.  
  410.                         @Override
  411.  
  412.                         public void onClick(View v) {
  413.  
  414.                                 // TODO Auto-generated method stub
  415.  
  416.                                
  417.  
  418.  
  419.  
  420.                                 btnShow().setBackgroundResource(IMG[switcher]);
  421.  
  422.                                
  423.  
  424.                         }
  425.  
  426.                
  427.  
  428.         });
  429.  
  430.        
  431.  
  432.     }
  433.  
  434.     ////////////////////////////////    
  435.  
  436.     public void setTitle(final String text)
  437.  
  438.     {
  439.  
  440.         final TextView title = (TextView)findViewById(R.id.txtTitle);
  441.  
  442.         title.setText(text);
  443.  
  444.     }
  445.  
  446.     ////////////////////////////////
  447.  
  448.  
  449.  
  450.     public void setFullscreen() {
  451.  
  452.         requestWindowFeature(Window.FEATURE_NO_TITLE);
  453.  
  454.         getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
  455.  
  456.                 WindowManager.LayoutParams.FLAG_FULLSCREEN);
  457.  
  458.     }
  459.  
  460.    
  461.  
  462.    ////////////////////////////////////
  463.  
  464.     public void setNoTitle() {
  465.  
  466.         requestWindowFeature(Window.FEATURE_NO_TITLE);
  467.  
  468.     }
  469.  
  470.  
  471.  
  472.         @Override
  473.  
  474.         public void onItemSelected(AdapterView parent, View v, int position, long id) {
  475.  
  476.                 // TODO Auto-generated method stub
  477.  
  478.                 //getWindow().setBackgroundDrawableResource(IMG[switcher]);
  479.  
  480.                 switcher = position;
  481.  
  482.                 btnShow().setBackgroundResource(IMG[position]);
  483.  
  484.                
  485.  
  486.                
  487.  
  488.         }
  489.  
  490.  
  491.  
  492.  
  493.  
  494.         @Override
  495.  
  496.         public void onNothingSelected(AdapterView<?> arg0) {
  497.  
  498.                 // TODO Auto-generated method stub
  499.  
  500.                
  501.  
  502.         }
  503.  
  504.  
  505.  
  506.  
  507.  
  508.         @Override
  509.  
  510.         public void onItemClick(AdapterView parent, View v, int position, long id) {
  511.  
  512.                 // TODO Auto-generated method stub
  513.  
  514.                 //selectWallpaper(IMG[switcher]);
  515.  
  516.                 switcher = position;
  517.  
  518.                 btnShow().setBackgroundResource(IMG[position]);
  519.  
  520.                
  521.  
  522.         }    
  523.  
  524.     /////////////////////
  525.  
  526.     /*
  527.  
  528.      * When using touch if you tap an image it triggers both the onItemClick and
  529.  
  530.      * the onTouchEvent causing the wallpaper to be set twice. Synchronize this
  531.  
  532.      * method and ensure we only set the wallpaper once.
  533.  
  534.      */
  535.  
  536.     private synchronized void selectWallpaper(int position) {
  537.  
  538.        
  539.  
  540.         try {
  541.  
  542.             InputStream stream = getResources().openRawResource(IMG[position]);
  543.  
  544.            
  545.  
  546.             setWallpaper(stream);
  547.  
  548.             setResult(RESULT_OK);
  549.  
  550.         } catch (IOException e) {
  551.  
  552.             Log.e(LOG_TAG, "Failed to set wallpaper " + e);
  553.  
  554.         }
  555.  
  556.     }  
  557.  
  558.         /////////////////////
  559.  
  560.     public class ImageAdapter extends BaseAdapter {
  561.  
  562.  
  563.  
  564.         private Context mContext;
  565.  
  566.        
  567.  
  568.         public ImageAdapter(Context c) {
  569.  
  570.             mContext = c;
  571.  
  572.         }
  573.  
  574.  
  575.  
  576.         public int getCount() {
  577.  
  578.             return IMG.length;
  579.  
  580.         }
  581.  
  582.  
  583.  
  584.         public Object getItem(int position) {
  585.  
  586.             return position;
  587.  
  588.         }
  589.  
  590.  
  591.  
  592.         public long getItemId(int position) {
  593.  
  594.             return position;
  595.  
  596.         }
  597.  
  598.  
  599.  
  600.         public View getView(final int position, View convertView, ViewGroup parent) {
  601.  
  602.            
  603.  
  604.             switcher = position;
  605.  
  606.            
  607.  
  608.             return this.setView(position);
  609.  
  610.         }
  611.  
  612.        
  613.  
  614.         public ImageView setView(final int position)
  615.  
  616.         {
  617.  
  618.                 ImageView i = new ImageView(mContext);
  619.  
  620.                
  621.  
  622.                
  623.  
  624.             btnShow().setBackgroundResource(IMG[position]);
  625.  
  626.             i.setImageResource(IMG[position]);
  627.  
  628.             i.setAdjustViewBounds(true);
  629.  
  630.             i.setLayoutParams(new Gallery.LayoutParams(
  631.  
  632.                     LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
  633.  
  634.             i.setBackgroundResource(android.R.drawable.picture_frame);
  635.  
  636.                 return i;
  637.  
  638.                
  639.  
  640.         }
  641.  
  642.  
  643.  
  644.     }  
  645.  
  646. }
Parsed in 0.064 seconds, using GeSHi 1.0.8.4


image1.xml
Syntax: [ Download ] [ Hide ]
Using xml Syntax Highlighting
  1. <?xml version="1.0" encoding="UTF-8"?>
  2.  
  3. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  4.  
  5.    android:layout_width="fill_parent"
  6.  
  7.         android:layout_height="fill_parent">
  8.  
  9.        
  10.  
  11. <TextView  
  12.  
  13.         android:id="@+id/txtTitle"
  14.  
  15.    android:layout_width="fill_parent"
  16.  
  17.    android:layout_height="wrap_content"
  18.  
  19.    android:text="Image-1 Page"
  20.  
  21.    android:layout_gravity="center_horizontal"
  22.  
  23.     android:layout_alignParentBottom="true"
  24.  
  25.     android:layout_alignParentLeft="true"
  26.  
  27.    
  28.  
  29.    />
  30.  
  31.  
  32.  
  33. <Button
  34.  
  35.     android:id="@+id/btnClose"
  36.  
  37.     android:layout_width="280px"
  38.  
  39.     android:layout_height="380px"
  40.  
  41.     android:background="@drawable/shield_and_swords"
  42.  
  43.     android:layout_centerHorizontal="true"
  44.  
  45.     android:layout_centerVertical="true"
  46.  
  47.    />
  48.  
  49.  
  50.  
  51. <TextView
  52.  
  53.     android:id="@+id/txtSetWallPP"
  54.  
  55.     android:layout_width="140px"
  56.  
  57.     android:layout_height="wrap_content"
  58.  
  59.     android:text="Set as WallPaper"
  60.  
  61.     android:layout_alignParentTop="true"
  62.  
  63.     android:layout_alignParentRight="true"
  64.  
  65.     android:background="#969292"
  66.  
  67.     android:color="#7A7C10"
  68.  
  69.     android:padding="10px"
  70.  
  71.     android:layout_margin="10px"
  72.  
  73.    />
  74.  
  75.  
  76.  
  77. <TextView
  78.  
  79.     android:id="@+id/txtcloseApp"
  80.  
  81.     android:layout_width="140px"
  82.  
  83.     android:layout_height="wrap_content"
  84.  
  85.     android:text="Close Application"
  86.  
  87.     android:layout_alignParentTop="true"
  88.  
  89.     android:layout_alignParentLeft="true"
  90.  
  91.     android:background="#969292"
  92.  
  93.     android:color="#7A7C10"
  94.  
  95.     android:padding="10px"
  96.  
  97.     android:layout_margin="10px"
  98.  
  99.    />
  100.  
  101.    
  102.  
  103.     <Gallery android:id="@+id/gallery"
  104.  
  105.        android:background="#70000000"
  106.  
  107.                 android:layout_width="fill_parent"
  108.  
  109.        android:layout_height="75dip"
  110.  
  111.        android:layout_alignParentBottom="true"
  112.  
  113.        android:layout_alignParentLeft="true"
  114.  
  115.        android:gravity="center_vertical"
  116.  
  117.        android:spacing="16dp"
  118.  
  119.        
  120.  
  121.        
  122.  
  123.    />
  124.  
  125.      
  126.  
  127. </RelativeLayout>
  128.  
  129.  
Parsed in 0.006 seconds, using GeSHi 1.0.8.4


preview.xml
Syntax: [ Download ] [ Hide ]
Using xml Syntax Highlighting
  1.  
  2. <?xml version="1.0" encoding="UTF-8"?>
  3.  
  4. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  5.  
  6.    android:layout_width="fill_parent"
  7.  
  8.         android:layout_height="fill_parent">
  9.  
  10. <ImageView  
  11.  
  12.         android:id="@+id/imgPreview"
  13.  
  14.    android:layout_width="fill_parent"
  15.  
  16.    android:layout_height="wrap_content"
  17.  
  18.    android:layout_gravity="center_horizontal"
  19.  
  20.     android:layout_alignParentBottom="true"
  21.  
  22.     android:layout_alignParentLeft="true"
  23.  
  24.    
  25.  
  26.    />
  27.  
  28. </RelativeLayout>
  29.  
  30.  
Parsed in 0.002 seconds, using GeSHi 1.0.8.4


here's its manifest.
Syntax: [ Download ] [ Hide ]
Using xml Syntax Highlighting
  1. <?xml version="1.0" encoding="utf-8"?>
  2.  
  3. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  4.  
  5.      package="mrm.demo2"
  6.  
  7.      android:versionCode="1"
  8.  
  9.      android:versionName="1.0.0">
  10.  
  11.     <application android:icon="@drawable/knapsack" android:label="@string/app_name" android:permission="android.permission.SET_WALLPAPER">
  12.  
  13.         <activity android:name=".Demo2"
  14.  
  15.                  android:label="WallPapers">
  16.  
  17.             <intent-filter>
  18.  
  19.                 <action android:name="android.intent.action.MAIN" />
  20.  
  21.                 <category android:name="android.intent.category.LAUNCHER" />
  22.  
  23.             </intent-filter>
  24.  
  25.         </activity>
  26.  
  27.     </application>
  28.  
  29. <uses-permission android:name="android.permission.SET_WALLPAPER"></uses-permission>
  30.  
  31. </manifest>
  32.  
  33.  
Parsed in 0.003 seconds, using GeSHi 1.0.8.4
reynolds
Junior Developer
Junior Developer
 
Posts: 22
Joined: Fri Mar 06, 2009 6:13 am
Location: Makati Philippines

Top

Postby WarrenFaith » Fri Mar 13, 2009 1:41 pm

However, when It tried to load the "preview" layout, it crashes.

Before I start reading your code, what exactly mean "crashes"? Post your stacktrace from LogCat please. It will simplify everything.
WarrenFaith
Moderator
Moderator
 
Posts: 227
Joined: Fri Mar 13, 2009 10:59 am
Location: Berlin, Germany

Postby reynolds » Fri Mar 13, 2009 2:50 pm

WarrenFaith wrote:
However, when It tried to load the "preview" layout, it crashes.

Before I start reading your code, what exactly mean "crashes"? Post your stacktrace from LogCat please. It will simplify everything.


logCat? Im sorry to be toally noob, but... is it a command line app which i could run in linux? or something like part of the settings of andoir G1 phone?
reynolds
Junior Developer
Junior Developer
 
Posts: 22
Joined: Fri Mar 06, 2009 6:13 am
Location: Makati Philippines

Postby MrSnowflake » Fri Mar 13, 2009 2:58 pm

So, ... You want to develop, but you don't even know how te debug properly?

Read the docs before you begin coding...
User avatar
MrSnowflake
Moderator
Moderator
 
Posts: 1439
Joined: Sat Feb 16, 2008 3:11 pm
Location: Flanders, Belgium

Postby reynolds » Fri Mar 13, 2009 4:46 pm

MrSnowflake wrote:So, ... You want to develop, but you don't even know how te debug properly?

Read the docs before you begin coding...


Hehe, I thought I could get away with it ;) I know, I know, I understand...

but... really the Android SDK-doc is totally unfriendly. I say this in comparison with PHP's documentation having each function (including classes and methods) an example of how to implement (although some Android API functions have a sample code). That's one of the BIG advantage in the stage of learning process. In any case, I was able to solve my problem somehow.. but it took me HALF-A-DAY to figure out what did I do wrong or overlooked with this just few lines(specific function) of codes. how? of few examples/snippets of codes I saw, yes they work, but not the way how I code it. Despite being able to make it work with trial and error, I still haven't found the answer as to why it doesn't work that way, but it works this way.

Android isn't that new at all, at this point in time. Being Google at its back, I was expecting the same resources availability similar to PHP in a blast.

Pardon for me telling somehow kind of a rant, and being quite demanding, but this is how I feel delving in to this new platform of development.

Just to clear it out, I'm not against Java and Android. But, If I can, I try to go with the best yet fastest available language/compiler/platform that can produce the exact solution I wanted.

But since Android is Java, I had no choice but to read and try to understand. But heck its quite boring. My fingers were already itching to code, I've already made the sketches of an app I want to make since I've already know what it can produce by looking at example apps of Android. <-- this was a REAL torture. As a fellow programmer you know what I mean by it. I've already suffered with C/C++ a few years ago, I should be able to transfer to a new language having similar syntax fast!

Geez, again my apologies for being nosy and ranty... I mean no harm to anyone's feelings... I just feel I want to say it, coz I though you would understand...

Criticism is gladly accepted and appreciated...

Back to the topic...

this lines of code, is the reason of the crash.

Syntax: [ Download ] [ Hide ]
Using java Syntax Highlighting
  1.  
  2.           @Override
  3.  
  4.           public boolean onSingleTapUp(MotionEvent e) {
  5.  
  6.                // TODO Auto-generated method stub
  7.  
  8.                showPreview();
  9.  
  10.                return false;
  11.  
  12.           }
  13.  
  14.  
Parsed in 0.032 seconds, using GeSHi 1.0.8.4



What I did is, create another onClickListener of that ImageView object, then call showPreveiw() function from the onClick of the listener. This worked, and no crashing happens anymore.

So the question now is, why does the above piece of code does NOT work?

hanks
reynolds
Junior Developer
Junior Developer
 
Posts: 22
Joined: Fri Mar 06, 2009 6:13 am
Location: Makati Philippines

Postby reynolds » Fri Mar 13, 2009 4:51 pm

btw, where can I read of how to debug android apps? tnx
reynolds
Junior Developer
Junior Developer
 
Posts: 22
Joined: Fri Mar 06, 2009 6:13 am
Location: Makati Philippines

Top

Postby MrSnowflake » Fri Mar 13, 2009 4:59 pm

How about Debugging tasks?

And yes the android documentation isn't as good php documentation, which, really, is awesome. But have you ever looked at Win32 documentation. I just can't get started with it, because there isn't even a notepad examples in there. Though I don't really want to develop Win3, it's the thought that counts.

Yet Android documentation is somewhat at the same level as Java documentation, though Javadocs is still a lot better and it has more tutorials. But Android is only 6 months stable, so it isn't that bad.

And not knowing how to debug has nothing to do with bad Android documentation, as it's clearly there, and definitely not hidden.

Btw: A long time ago I made a thread about the application <task name> has stopped unexpectedly so it would be easier to people to find the exceptions, ...
User avatar
MrSnowflake
Moderator
Moderator
 
Posts: 1439
Joined: Sat Feb 16, 2008 3:11 pm
Location: Flanders, Belgium

Postby reynolds » Fri Mar 13, 2009 5:07 pm

MrSnowflake wrote:How about Debugging tasks?

But have you ever looked at Win32 documentation. I just can't get started with it, because there isn't even a notepad examples in there. Though I don't really want to develop Win3, it's the thought that counts.


STOP it! ...I've told you, I've already suffered enough! ;)

MrSnowflake wrote:Yet Android documentation is somewhat at the same level as Java documentation, though Javadocs is still a lot better and it has more tutorials. But Android is only 6 months stable, so it isn't that bad.

true, that's why I was able to learn Java in a day (of a novice level).

MrSnowflake wrote:And not knowing how to debug has nothing to do with bad Android documentation, as it's clearly there, and definitely not hidden.


Hehehe, I'm just being a little laz... you know ;)
reynolds
Junior Developer
Junior Developer
 
Posts: 22
Joined: Fri Mar 06, 2009 6:13 am
Location: Makati Philippines

Postby reynolds » Fri Mar 13, 2009 5:10 pm

MrSnowflake wrote:How about Debugging tasks?

Btw: A long time ago I made a thread about the application <task name> has stopped unexpectedly so it would be easier to people to find the exceptions, ...


ahh, thank you so much for pointing me to it :)
reynolds
Junior Developer
Junior Developer
 
Posts: 22
Joined: Fri Mar 06, 2009 6:13 am
Location: Makati Philippines

Postby MrSnowflake » Fri Mar 13, 2009 5:19 pm

reynolds wrote:that's why I was able to learn Java in a day (of a novice level).
Yup, gotta love those tuts! At least I do, I look at them from time to time to learn some new stuff, for which I'm too lazy to find out myself :).

reynolds wrote:Hehehe, I'm just being a little laz... you know ;)
yeah well, you costed me time, so uhm, ... You owe me a whole euro cent :) (because the dollar is too cheap :D).
User avatar
MrSnowflake
Moderator
Moderator
 
Posts: 1439
Joined: Sat Feb 16, 2008 3:11 pm
Location: Flanders, Belgium

Top

Return to View, Layout & Resource Problems

Who is online

Users browsing this forum: Yahoo [Bot] and 5 guests