25 April 2014

draw text in canvas using edittext

draw text in canvas using edittext

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context="packagename.MainActivity">

<intraction.arrow.app.DrawView
    android:id="@+id/drawView"
    android:layout_width="fill_parent"
    android:layout_height="200dp" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/editText"
        android:hint="Enter your Text"
        android:focusable="true"
        android:layout_below="@+id/drawView"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Save Image"
        android:id="@+id/button"
        android:layout_below="@+id/editText"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />


</RelativeLayout>




MainActivity.java

package packagename;


import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;

import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;



public class MainActivity extends ActionBarActivity {

    Communicator communicator;
//ListView listView;
    EditText editText;
    Button saveButton;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //listView = (ListView) findViewById(R.id.listView);
        //NetworkConfig config = new NetworkConfig("http://arrowgifts.com/mobile/mobile_home");

        //drawView = new DrawView(this);
        //drawView = (DrawView) findViewById(R.id.drawView);
        communicator = (Communicator)findViewById(R.id.drawView);
        //setContentView(drawView);
       // save();
        saveButton = (Button) findViewById(R.id.button);
        saveButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                communicator.saveImage();
            }
        });
        editText = (EditText) findViewById(R.id.editText);
editText.addTextChangedListener( new TextWatcher() {
    @Override
    public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) {

    }

    @Override
    public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) {
communicator.writeText(editText.getText().toString());
    }

    @Override
    public void afterTextChanged(Editable editable) {

    }
});
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
     
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, 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);
    }

/**
 * Communicator
 * **/
public interface Communicator{
    public void writeText(String string);
    public void saveImage();
}



}
//...................................\\


DrawView.java

package packagename;


import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;


import android.util.AttributeSet;

import android.view.View;



/**
 * Created by sravan on 4/22/2014.
 */
public class DrawView extends View implements MainActivity.Communicator {
    Bitmap bitmap;
Bitmap newBitmap;

//        public DrawView(Context context) {
//            this(context,null);
//        bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.templer);
//        newBitmap = Bitmap.createBitmap(bitmap,0,0,bitmap.getWidth()-100,bitmap.getHeight()-100);
//
//
//    }

    public DrawView(Context context, AttributeSet attrs) {

        super(context, attrs);
        bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.templer);
        newBitmap = Bitmap.createBitmap(bitmap,0,0,bitmap.getWidth()-100,bitmap.getHeight()-100);
    }

//    public DrawView(Context context, AttributeSet attrs, int defStyleAttr) {
//        super(context, attrs, defStyleAttr);
//    }







    @Override
    protected void onDraw(Canvas canvas) {

        super.onDraw(canvas);
        Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
        paint.setColor(Color.RED);
        paint.setTextSize(50);
        paint.setStyle(Paint.Style.FILL);


        canvas.drawBitmap(newBitmap, 0, 0, null);

        canvas.drawText(textToBeWritten, 10, 50, paint);
        setDrawingCacheEnabled(true);

    }

private String textToBeWritten ="Enter Text" ;
    @Override
    public void writeText(String string) {
        textToBeWritten = string;
        invalidate();
    }

    @Override
    public void saveImage() {
        SaveFile saveFile = new SaveFile();
        saveFile.save(getDrawingCache());
    }
}



SaveFile.java


package packagename;

import android.graphics.Bitmap;
import android.os.Environment;
import android.util.Log;

import java.io.File;
import java.io.FileOutputStream;

/**
 * Created by sravan on 4/23/2014.
 */
public class SaveFile {

    //Bitmap bitmap;// = getDrawingCache();
    public void save(Bitmap bitmap) {


        String root = Environment.getExternalStorageDirectory().toString();
        File myDir = new File(root + "/saved_images");
        myDir.mkdirs();

        String fname = "Image.jpg";
        File file = new File (myDir, fname);
        if (file.exists ()) file.delete ();
        try {
            FileOutputStream out = new FileOutputStream(file);
            bitmap.compress(Bitmap.CompressFormat.JPEG, 90, out);
            out.flush();
            out.close();
            Log.i("Success", root + "/saved_images");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
//..............................//


Tested in Android 4.2.2. API Level 19, and working fine.

10 April 2014

Key Down events in wp7

<TextBox Name="hrTextBox" MaxLength="1" Text="0"  KeyDown="hrTextBox_KeyDown" TextAlignment="Center" InputScope="Number"/>


Add this in your construcor to allow only numbers in text box


            InputScope scope = new InputScope();
            InputScopeName name = new InputScopeName();

            name.NameValue = InputScopeNameValue.Number;
            scope.Names.Add(name);

         

            minTextBox.InputScope = scope;

 private void hrTextBox_KeyDown(object sender, KeyEventArgs e)
        {
            switch (e.Key)
            {
                case Key.D0:
                case Key.D1:
                case Key.D2:
                case Key.D3:
                case Key.D4:
                case Key.Back:
                case Key.Delete:
                    break;
                default: e.Handled = true;
                    return;
            }
        }


     
        private void minTextBox_KeyDown(object sender, KeyEventArgs e)
        {
            if (minTextBox.Text != "")
            {
                if (int.Parse(minTextBox.Text) >= 6)
                {
                    switch (e.Key)
                    {
                        case Key.Back:
                        case Key.Delete:
                            break;
                        default: e.Handled = true;
                            return;
                    }
                }
            }

09 April 2014

Play shoutcast stream in Windows phone 7



Here are the steps to play shoutcast stream in wp7.

1) Download the open source project from here
2) extract the file and check the folders in the project
you will find "Bin" and "src" folders. open "src" folder
3) Now you will find following packages:-
Shoutcast.Sample
Shoutcast.Sample.Phone
Shoutcast.Sample.Phone.Background
Shoutcast.Sample.Phone.Background.PlaybackAgent
Silverlight.Media.ShoutCast
4) Add Shoutcast.Sample.Phone.Background.PlaybackAgent, and
Silverlight.Media.ShoutCast in to your project
5) Now go to your main project(UI project) right click on Referencts and select add Reference
6) Select "Solution" in right pannel there you will find projects (Shoutcast.Sample.Phone.Background.Playback
Silverlight.Media.ShoutCast.Phone)
7) Check the box Shoutcast.Sample.Phone.Background.Playback project and click "Ok"
(Note:- if you dont want to play background audio than you can add only Silverlight.Media.ShoutCast.Phone to your project)
8) Now go to Properties folder on top of the References go to WMAppManifest.xml right click on that and open with "xml(Text) editor"(this is for vs 2012)
9) add the following lines below </Capabilities>
    <Tasks>
      <DefaultTask Name="_default" NavigationPage="YourMainPage.xaml" />
      <ExtendedTask Name="BackgroundTask">
        <BackgroundServiceAgent Specifier="AudioPlayerAgent" Name="Shoutcast.Sample.Phone.Background.PlaybackAgent" Source="Shoutcast.Sample.Phone.Background.PlaybackAgent" Type="Shoutcast.Sample.Phone.Background.Playback.AudioPlayer" />
        <BackgroundServiceAgent Specifier="AudioStreamingAgent" Name="Shoutcast.Sample.Phone.Background.StreamAgent" Source="Shoutcast.Sample.Phone.Background.PlaybackAgent" Type="Shoutcast.Sample.Phone.Background.Playback.AudioTrackStreamer" />
      </ExtendedTask>
    </Tasks>
10) now rebuild your entire solution check to see if any errors in your build. if no errors found then your back ground audio should work


-Please comment for any quires. 

01 April 2014

VisualTreeHelper in wp7




        /// <summary>
        /// Finds a Child of a given item in the visual tree.
        /// </summary>
        /// <param name="parent">A direct parent of the queried item.</param>
        /// <typeparam name="T">The type of the queried item.</typeparam>
        /// <param name="childName">x:Name or Name of child. </param>
        /// <returns>The first parent item that matches the submitted type parameter.
        /// If not matching item can be found,
        /// a null parent is being returned.</returns>
        public static T FindChild<T>(DependencyObject parent, string childName)
           where T : DependencyObject
        {
            // Confirm parent and childName are valid.
            if (parent == null) return null;

            T foundChild = null;

            int childrenCount = VisualTreeHelper.GetChildrenCount(parent);
            for (int i = 0; i < childrenCount; i++)
            {
                var child = VisualTreeHelper.GetChild(parent, i);
                // If the child is not of the request child type child
                T childType = child as T;
                if (childType == null)
                {
                    // recursively drill down the tree
                    foundChild = FindChild<T>(child, childName);

                    // If the child is found, break so we do not overwrite the found child.
                    if (foundChild != null) break;
                }
                else if (!string.IsNullOrEmpty(childName))
                {
                    var frameworkElement = child as FrameworkElement;
                    // If the child's name is set for search
                    if (frameworkElement != null && frameworkElement.Name == childName)
                    {
                        // if the child's name is of the request name
                        foundChild = (T)child;
                        break;
                    }
                }
                else
                {
                    // child element found.
                    foundChild = (T)child;
                    break;
                }
            }
            return foundChild;
        }
     

31 March 2014

How to install Java on windows

How to Install Java in Windows 7

Java

1. First check whether Java is installed or not in your system.
  • Open MyComputer > Local Disk C: > Program Files > Common Files  and see if a folder named "Java" is present.
  • If the "Java" folder is present then you need to check if "environment variables path" is set or not
  •  If java dose not exist then you need to download  java jdk from Oracle website. Accept license agreement before downloading. Select your os(32 or 64-bit) and download. 
  • Java is open source software. It provides free download to the users and developers.
  • There are two kinds of java packages, one is jdk :- Java Development Kit, and other is jre:- Java Runtime Envirement
  • JDK:- It is used by developers to develop java based programmes like standalone(Disktop) and server applications.
  • JRE:- Is used to by the operating system to run java applications in the local computer.
  • JRE will convert java bite code instructions to system understandable Machine code which is executed by the system.
  • To download java for free click below link

Download and install java jdk. 
  • Install Java from the download.
  • Now Installation is successfull but its not yet over,  you need to set environment variables
  • Open command prompt and type javac in command line.
  • Then it shows 'Javac' is not recognized as an internal or external command.checking-for-java
  • You need to set environment variable path to avoid this java error.
  • In order to set path right click on Computer and click properties there you can find advanced system settings on left side pannel of the window.
    MyComputer-propertiesAdvanced-System-Settings

  • Now click on Advanced tab.
  • Under Advanced tab click environment variables button as shown below.



System-Properties

  • On clicking the button you find a Environment Variable popup.
  •  Now under User variables click "New" and set 
  • variable name : PATH and variable value : C:\Program Files\Java\jdk1.7.0\bin .
  • Then click OK.
  • Now again open command prompt to check if java is installed or not.
  • To do this you need to type javac on the command line It will show all java commands as shown in below image.It means that java has been successfully installed on your computer.


check-for-java

  • Now you can use notepad to write the code or download any IDE(Integrated Development Environment) and start programming(Starting with eclipse).
       Check this: Java programmes for beginners

14 March 2014

Change Background Image on pressed ListBox

<Grid x:Name="LayoutRoot" Background="Transparent">
        <!--toolkit:TiltEffect.IsTiltEnabled="True"-->
        <ListBox x:Name="Channel_List" SelectionChanged="Listbox1_SelectionChanged" >
         
            <ListBox.ItemTemplate>
                <DataTemplate>
                 
                    <ListBoxItem >
                        <StackPanel Width="490" MouseLeave="StackPanel_MouseLeave"  MouseLeftButtonDown="StackPanel_MouseLeftButtonDown" MouseLeftButtonUp="StackPanel_MouseLeftButtonUp">
                            <StackPanel.Background>
                                <ImageBrush ImageSource="/Assets/Images/channel-bg-unsel.png"/>
                            </StackPanel.Background>
                            <Image Source="{Binding Image}" />
                            <TextBlock Text="{Binding StationName}" FontFamily="Segoe Print" />
                        </StackPanel>
                    </ListBoxItem>
                 
                </DataTemplate>
            </ListBox.ItemTemplate>
         
        </ListBox>

     
     
    </Grid>


/////handle click events in code behind..



private void StackPanel_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {
            var obj = (sender as StackPanel);
            ImageSource img = new BitmapImage(new Uri("/Assets/Images/channel-bg-sel.png", UriKind.Relative));
           ImageBrush ig = new ImageBrush();
           ig.ImageSource = img;
           obj.Background = ig;
            //obj.Background =
        }

        private void StackPanel_MouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {
            var obj = (sender as StackPanel);
            ImageSource img = new BitmapImage(new Uri("/Assets/Images/channel-bg-unsel.png", UriKind.Relative));
            ImageBrush ig = new ImageBrush();
            ig.ImageSource = img;
            obj.Background = ig;
        }

        private void StackPanel_MouseLeave(object sender, System.Windows.Input.MouseEventArgs e)
        {
            var obj = (sender as StackPanel);
            ImageSource img = new BitmapImage(new Uri("/Assets/Images/channel-bg-unsel.png", UriKind.Relative));
            ImageBrush ig = new ImageBrush();
            ig.ImageSource = img;
            obj.Background = ig;
        }









selectedSelected-background-image

unselectedSelected-background-image

12 March 2014

WP7 Identity of the caller.

unable to determine application identity of the caller. settings class

or


Exception while using IsolatedStorageSettings:
System.IO.IsolatedStorage.IsolatedStorageException: Unable to determine
application Identity of the caller.
 at System.IO.IsolatedStorage.IsolatedStorage.InitStore(IsolatedScope
scope,Type appEvidenceType)
 at System.IO.IsolatedStorage.IsolatedStorageFile.GetStore(IsolatedScope
scope,Type applicationEvidenceType)
 at System.Io.IsolatedStorage.IsolatedStorageSettings..ctor(boolean
useSiteSettings)
 at System.IO.IsolatedStorage.IsolatedStorageSettings.get_ApplicationSettings()
 at ManasutoApp.AppSettings..ctor() in


Try this code in your settings class.

if (!System.ComponentModel.DesignerProperties.IsInDesignTool)
                {
                    settings = IsolatedStorageSettings.ApplicationSettings;
                }


"check if the code is running in (visual studio or blend) using DesignerProperties.IsInDesignTool since accessing IsolatedStorageSettings in Visual Studio or Expression Blend is invalid."

I found this from StackOverFlow ..





Specified argument was out of the range of valid values. wp7.

for this you need to lode the settings class in Loded event.
public partial class Page2 : UserControl
public Page2(){
  Loaded += ChannelsPage_Loaded;
         
        }

        void ChannelsPage_Loaded(object sender, RoutedEventArgs e)
        {
            appSettings = new AppSettings();
            this.isolatedSettings(); // here you are calling method that uses isolated class

            var deviceId = DeviceExtendedProperties.GetValue("DeviceUniqueId"); // devide id of your Wp7
            byte[] bID = (byte[])deviceId;
            string deviceID = Convert.ToBase64String(bID);
        }


if possible instantiate "settings" Class as


if (!System.ComponentModel.DesignerProperties.IsInDesignTool)
                {
                    settings = AppSettings();// where you lode entire data from isolated storage
                }

Contact Form

Name

Email *

Message *

Smooth Graphics Java

// Arrange Bricks in Game //java brick breaker game code without flickering // added game levels 1,2,3 in the game //java paddle ball ga...