Guest User

autocrat

a guest
Nov 30th, 2012
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 13.54 KB | None | 0 0
  1. DashboardActivity
  2. <pre>
  3. public class DashboardActivity extends FragmentActivity {
  4.    
  5.     static final int NUM_ITEMS1 = 4;
  6.     MyAdapter mAdapter;
  7.     ViewPager mPager;
  8.     PageIndicator mIndicator;
  9.    
  10.     public void onCreate(Bundle savedInstanceState) {
  11.         super.onCreate(savedInstanceState);
  12.         this.requestWindowFeature(Window.FEATURE_NO_TITLE);
  13.         setContentView(R.layout.activity_dashboard);
  14.        
  15.         mAdapter = new MyAdapter(getSupportFragmentManager());
  16.  
  17.         mPager = (ViewPager)findViewById(R.id.pager1);
  18.         mPager.setAdapter(mAdapter);
  19.        
  20.         mIndicator = (CirclePageIndicator)findViewById(R.id.indicator);
  21.         mIndicator.setViewPager(mPager);
  22.        
  23.        
  24.     }
  25.    
  26.     public static class MyAdapter extends FragmentPagerAdapter {
  27.         public MyAdapter(FragmentManager fm) {
  28.             super(fm);
  29.         }
  30.  
  31.         @Override
  32.         public int getCount() {
  33.             return NUM_ITEMS1;
  34.         }
  35.  
  36.         @Override
  37.         public Fragment getItem(int position) {
  38.             return ArrayListFragment1.newInstance(position);
  39.         }
  40.     }
  41.  
  42.     public boolean onCreateOptionsMenu(Menu menu) {
  43.         getMenuInflater().inflate(R.menu.activity_dashboard, menu);
  44.         return true;
  45.     }
  46.    
  47.     public static class ArrayListFragment1 extends Fragment {
  48.         int mNum;
  49.         int resource;
  50.  
  51.         public static ArrayListFragment1 newInstance(int num) {
  52.             ArrayListFragment1 f = new ArrayListFragment1();
  53.  
  54.            
  55.             Bundle args = new Bundle();
  56.             args.putInt("num", num);
  57.             f.setArguments(args);
  58.  
  59.             return f;
  60.         }
  61.  
  62.         @Override
  63.         public void onCreate(Bundle savedInstanceState) {
  64.             super.onCreate(savedInstanceState);
  65.             mNum = getArguments() != null ? getArguments().getInt("num") : 1;
  66.            
  67.            
  68.             switch(mNum)
  69.             {
  70.                 case 0 : resource = R.layout.activity_dash_first_fragment;
  71.                         break;
  72.            
  73.                 case 1 : resource = R.layout.chart_top5prod;
  74.                         break;
  75.                        
  76.                 case 2 : resource = R.layout.chart_top5cust;
  77.                         break;
  78.                        
  79.                 case 3 : resource = R.layout.activity_weighted_dial_chart;
  80.                         break;
  81.             }
  82.          
  83.         }
  84.  
  85.         public View onCreateView(LayoutInflater inflater, ViewGroup container,
  86.                 Bundle savedInstanceState) {
  87.            
  88.             View v = inflater.inflate(resource, container, false);
  89.            
  90.             if (resource == R.layout.activity_dash_first_fragment )
  91.             {
  92.                 TextView tv_dash_mtd = (TextView) v.findViewById(R.id.tv_dash_mtd);
  93.                 TextView tv_dash_ytd = (TextView) v.findViewById(R.id.tv_dash_ytd);
  94.                
  95.                 String temp[] = initialize();
  96.                
  97.                 tv_dash_mtd.setText("$ "+temp[0]);
  98.                 tv_dash_ytd.setText("$ "+temp[1]);
  99.             }
  100.            
  101.             if (resource == R.layout.activity_weighted_dial_chart) {
  102.            
  103.                 View weightedDialChart = new WeightDialChart()
  104.                     .displayWeightDialChart(getActivity());
  105.                 LinearLayout weightedDialLayout = (LinearLayout)
  106.                     v.findViewById(R.id.chartLayout);
  107.                
  108.                
  109.                 System.out.println("Width : "+weightedDialChart.getWidth());
  110.                 System.out.println("Height : "+weightedDialChart.getHeight());
  111.                
  112.  
  113.                
  114.  
  115.                 Bitmap image = ConvertViewToImage.getBitmapFromView(weightedDialChart);
  116.                
  117.                 ImageView imgView = (ImageView)v.findViewById(R.id.imageViewChart);
  118.                 imgView.setImageBitmap(image);
  119.                
  120.             }
  121.            
  122.            
  123.            
  124.             return v;
  125.         }
  126.        
  127.        
  128.         public String [] initialize()
  129.         {
  130.             Runnable myRunnable = new Runnable()
  131.             {
  132.                 public void run() {
  133.                     new MtdYtdCall().WebCall(com.mobien.loginmastersync.
  134.                             LoginMainActivity.db.getUserData_atPosition(0));
  135.                 }
  136.             };
  137.            
  138.             Thread myThread = new Thread(myRunnable);
  139.             myThread.start();
  140.            
  141.             try {
  142.                 myThread.join();
  143.             } catch (InterruptedException e) {
  144.  
  145.                 e.printStackTrace();
  146.             }
  147.            
  148.                   FileReadWrite fR = new FileReadWrite();
  149.                   String entity_mtd[] = fR.readCSV("mtdytd.csv",true);
  150.                   String entity_ytd[] = fR.readCSV("mtdytd.csv", false);
  151.                  
  152.                   String temp[] = {entity_mtd[0],entity_ytd[0]};
  153.                   return temp;
  154.        
  155.         }
  156.     }
  157.    
  158.        
  159.     public void onClick(View view)
  160.     {
  161.         Intent intent;
  162.         switch(view.getId())
  163.         {
  164.            
  165.             case R.id.btn_orderbook :
  166.                 Toast.makeText(this, "Order Book!", Toast.LENGTH_LONG).show();
  167.                 intent = new Intent();
  168.                 intent.setClass(getApplicationContext(), com.mobien.orderbooking.
  169.                         NewOrderActivity.class);
  170.                 startActivity(intent);
  171.                 overridePendingTransition(R.anim.gd_grow_from_top, R.anim.gd_shrink_from_top);
  172.                 break;
  173.            
  174.             case R.id.btn_custominfo :
  175.                 Toast.makeText(this, "Customer Info", Toast.LENGTH_LONG).show();
  176.                 intent = new Intent();
  177.                 intent.setClass(getApplicationContext(), com.mobien.customerinfo.
  178.                         CustInfoActivity.class);
  179.                 intent.putExtra("From", true);
  180.                 startActivity(intent);
  181.                 overridePendingTransition(R.anim.gd_grow_from_top, R.anim.gd_shrink_from_top);
  182.                 break;
  183.            
  184.             case R.id.btn_salesmetrics :
  185.                 Toast.makeText(this, "Sales Metrics", Toast.LENGTH_LONG).show();
  186.                 intent = new Intent();
  187.                 intent.setClass(getApplicationContext(), com.mobien.salesmetrics.
  188.                         SalesMetricsActivity.class);
  189.                 startActivity(intent);
  190.                 overridePendingTransition(R.anim.gd_grow_from_top, R.anim.gd_shrink_from_top);
  191.                 break;
  192.            
  193.             case R.id.btn_schemeinquiry :
  194.                 Toast.makeText(this, "Scheme Inquiry", Toast.LENGTH_LONG).show();
  195.                 intent = new Intent();
  196.                 intent.setClass(getApplicationContext(), com.mobien.schemes.SchemeMainActivity.class);
  197.                 startActivity(intent);
  198.                 overridePendingTransition(R.anim.gd_grow_from_top, R.anim.gd_shrink_from_top);
  199.                 break;     
  200.                    
  201.         }
  202.     }
  203.  
  204. <code>
  205. Image Conversion
  206. <pre>
  207.     public class ConvertViewToImage {
  208.    
  209.     public static Bitmap ConvertToImage(View view, String nameOfImage)
  210.     {
  211.  
  212.         view.setDrawingCacheEnabled(true);
  213.         Bitmap image = view.getDrawingCache();
  214.         try {
  215.             image.compress(CompressFormat.JPEG, 95,
  216.                     new FileOutputStream(Environment.getExternalStorageDirectory()
  217.                             +"/"+nameOfImage));
  218.         } catch (FileNotFoundException e) {
  219.            
  220.             e.printStackTrace();
  221.         }
  222.         return image;
  223.     }
  224.    
  225.     public static Bitmap getBitmapFromView(View view) {
  226.        
  227.         System.out.println("View Width : "+view.getWidth());
  228.         System.out.println("View Height : "+view.getHeight());
  229.         Bitmap returnedBitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(),
  230.                 Bitmap.Config.ARGB_8888);
  231.         Canvas canvas = new Canvas(returnedBitmap);
  232.         Drawable bgDrawable =view.getBackground();
  233.         if (bgDrawable!=null)
  234.             bgDrawable.draw(canvas);
  235.         else
  236.             canvas.drawColor(Color.WHITE);
  237.         view.draw(canvas);
  238.         return returnedBitmap;
  239.     }
  240.     }
  241. <code>
  242. Actual Dial Chart Code
  243. <pre>
  244.     public class WeightDialChart extends AbstractChart {
  245.  
  246.  
  247.     private static final long serialVersionUID = 1L;
  248.     GraphicalView barchartView;
  249.     double target, min, actual;
  250.  
  251.   public String getName() {
  252.     return "Weight chart";
  253.   }
  254.  
  255.  
  256.   public String getDesc() {
  257.     return "The weight indicator (dial chart)";
  258.   }
  259.  
  260.  
  261.   public View displayWeightDialChart(Context context)
  262.   {
  263.       Runnable myRunnable = new Runnable()
  264.         {
  265.           public void run() {
  266.             WebCall();
  267.           }
  268.       };
  269.        
  270.       Thread myThread = new Thread(myRunnable);
  271.       myThread.start();
  272.      
  273.       try {
  274.             myThread.join();
  275.         } catch (InterruptedException e) {
  276.             // TODO Auto-generated catch block
  277.             e.printStackTrace();
  278.         }
  279.        
  280.  
  281.     FileReadWrite fs = new FileReadWrite();
  282.     String[] plan_of_month = fs.readCSV("weightchart.csv", true);
  283.    
  284.     String[] actual_of_month = fs.readCSV("weightchart.csv", false);
  285.    
  286.  
  287.     target = Double.parseDouble(plan_of_month[0]);
  288.     System.out.println("MAXIMUM " +target);
  289.    
  290.    
  291.     actual = Double.parseDouble(actual_of_month[0]);
  292.     System.out.println(actual);
  293.    
  294.  
  295.     CategorySeries category = new CategorySeries("Weight indic");
  296.     category.add("Actual Sales", actual);
  297.     category.add("Target for the month", target);
  298.     DialRenderer renderer = new DialRenderer();
  299.     renderer.setChartTitle(" Percentage Performance Chart");
  300.     renderer.setChartTitleTextSize(20);
  301.     renderer.setLabelsTextSize(15);
  302.     renderer.setLegendTextSize(15);
  303.  
  304.    
  305.  
  306.     renderer.setMargins(new int[] {30, 30, 20, 0});
  307.    
  308.     SimpleSeriesRenderer r = new SimpleSeriesRenderer();
  309.     r.setColor(Color.GREEN);
  310.     renderer.addSeriesRenderer(r);
  311.    
  312.     r = new SimpleSeriesRenderer();
  313.     r.setColor(Color.rgb(255, 140, 0));
  314.     renderer.addSeriesRenderer(r);
  315.    
  316.     renderer.setLabelsTextSize(10);
  317.     renderer.setLabelsColor(Color.WHITE);
  318.     renderer.setShowLabels(true);
  319.  
  320.     renderer.setVisualTypes(new DialRenderer.Type[] {Type.NEEDLE, Type.NEEDLE});
  321.     double maxValue = target * 1.2;
  322.  
  323.  
  324.     renderer.setMajorTicksSpacing(maxValue/6);
  325.     renderer.setMinorTicksSpacing(maxValue/60);
  326.     renderer.setPanEnabled(false);
  327.     renderer.setMinValue(0);
  328.     renderer.setMaxValue(maxValue);
  329.    
  330.     renderer.setAngleMax(90);
  331.     renderer.setAngleMin(270);
  332.    
  333.     barchartView = ChartFactory.getDialChartView(context, category, renderer);
  334.     return barchartView;
  335.   }
  336.  
  337.   public static int getMaxValue(int[] numbers){  
  338.       int maxValue = numbers[0];  
  339.       for(int i=1;i < numbers.length;i++){  
  340.         if(numbers[i] > maxValue){  
  341.           maxValue = numbers[i];  
  342.         }  
  343.       }  
  344.       return maxValue;  
  345.     }  
  346.      
  347.     public static int getMinValue(int[] numbers){  
  348.       int minValue = numbers[0];  
  349.       for(int i=1;i<numbers.length;i++){  
  350.         if(numbers[i] < minValue){  
  351.           minValue = numbers[i];  
  352.         }  
  353.       }  
  354.       return minValue;  
  355.     }  
  356.  
  357.     public static int getAverage(int[] numbers){  
  358.         int sum = 0;  
  359.         int n = numbers.length;
  360.         for(int i=1;i < n ;i++){  
  361.           sum = sum + numbers[i];  
  362.         }  
  363.         return sum/n;  
  364.       }  
  365.    
  366.     public static int[] divideCircumference(int max)
  367.     {
  368.        
  369.         int [] plots = new int[180];
  370.         int min = max/18;
  371.        
  372.         for( int i = 0; i < max ; i++ )
  373.         {
  374.             plots[i] = min * i;
  375.            
  376.             System.out.println(plots[i]);
  377.         }
  378.        
  379.         return plots;
  380.        
  381.     }
  382.    
  383.     public void WebCall()
  384.     {
  385.         System.out.println("Web call");
  386.         String[][] inparams = new String [2][2];
  387.         inparams [0][0] = "Login_Id";
  388.         inparams [0][1] = "195072";
  389.         inparams [1][0] = "TARGET_FOR_YEAR_MONTH";
  390.         inparams [1][1] = "201208";
  391.         String[] outParams ={"getPerformanceTargetForUserMonthResult"};
  392.        
  393.         System.out.print("Inparams : "+inparams[0][0]+ " "+inparams[0][1]);
  394.        
  395.         try {
  396.             System.out.println("Attempting web call!!");
  397.             String[][] test = new HttpEngine().webRequest("getPerformanceTargetForUserMonth" , "0", inparams, outParams);
  398.             System.out.println("Printing the received data...");
  399.             System.out.println(test[0][1]);
  400.             String test1 = test[0][1];
  401.            
  402.             parseXml(test1);
  403.            
  404.            
  405.            
  406.         } catch (Exception e) {
  407.             e.printStackTrace();
  408.    
  409.     }
  410.        
  411. }
  412.        
  413.          public void parseXml(String reply)
  414.          {
  415.             try
  416.             {
  417.                 org.kxml2.io.KXmlParser parser = new org.kxml2.io.KXmlParser();
  418.                 Generic_XmlParser gParser = new Generic_XmlParser();
  419.                 ByteArrayInputStream bais = new ByteArrayInputStream(reply.getBytes());
  420.                 InputStreamReader reader = new InputStreamReader(bais);
  421.                 parser.setInput(reader);
  422.                 XmlNode xml = gParser.parseXML(parser, true);
  423.                 System.out.println("XML:" + xml);
  424.  
  425.                 String[] entity_plan_for_month = gParser.getentity_plan_for_month();
  426.                 System.out.println(entity_plan_for_month);
  427.                 String[] entity_actual_for_month = gParser.getentity_actual_for_month();
  428.                 System.out.println(entity_actual_for_month);
  429.                
  430.                 //Writing data coming from web service in files!!
  431.                 FileReadWrite fs = new FileReadWrite();
  432.                 fs.writeCSV("weightchart.csv",entity_plan_for_month,entity_actual_for_month);
  433.  
  434.             }
  435.             catch (Exception e)
  436.             {
  437.                 e.printStackTrace();
  438.                 System.out.println("....." + e.toString());
  439.             }
  440.         }
  441.  
  442.         public Intent execute(Context context) {
  443.             return null;
  444.         }
  445.  
  446.         @Override
  447.         public void draw(Canvas arg0, int arg1, int arg2, int arg3, int arg4,
  448.                 Paint arg5) {
  449.            
  450.         }
  451.  
  452.         @Override
  453.         public void drawLegendShape(Canvas arg0, SimpleSeriesRenderer arg1,
  454.                 float arg2, float arg3, int arg4, Paint arg5) {
  455.            
  456.         }
  457.  
  458.         @Override
  459.         public int getLegendShapeWidth(int arg0) {
  460.             return 0;
  461.         }
  462. }
  463. <code>
  464.  
  465.  
  466. My xml file
  467. <pre>
  468.    
  469.     <?xml version="1.0" encoding="utf-8"?>
  470. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  471.     android:id="@+id/chartLayout"
  472.     android:layout_width="match_parent"
  473.     android:layout_height="match_parent"
  474.     android:orientation="vertical"
  475.     android:background="@color/Black" >
  476.  
  477.     <ImageView
  478.         android:id="@+id/imageViewChart"
  479.         android:layout_width="match_parent"
  480.         android:layout_height="match_parent"
  481.         android:contentDescription="@string/cd_arrow"
  482.         android:src="@drawable/button_bg" />
  483.    
  484. </LinearLayout>
  485. <code>
Advertisement
Add Comment
Please, Sign In to add comment