Contact

If you have any questions,views or suggestions please feel free to contact the editor at: admin[at]karanbalkar.com

58 thoughts on “Contact

  1. hey
    i was doing ur Google Maps Tutorial (Tutorial #34: Using Google Maps Android API v2) and mine doesnt work.. i got alot of errors.
    i wish u can help me.

    Regards.

  2. Hi Karan,
    My name is Maria from Indonesia.
    I was creating some Android live wallpaper using Eclipse. I want to make an animated background for my live wallpaper.
    Is it possible?
    My friend can do that but he use basic4android and use additional program to make animated background.
    I was read your tutorial about how to make a fade-in and fade-out animation but I did’t understand how to applied those on my live wallpaper.
    Can you help me by giving tutorial how to make an animated background using Eclipse, please?

    Many thanks for your help Karan 🙂

    • Hi Maria! How are you?

      Yes it’s possible to make an animated background for live wallpaper in Android. Personally, if you ask me I haven’t tried it but since you have asked this question, I will surely give it a try.

      In the mean time, you can check this link. Check the accepted answer and try to implement in that way. This tutorial will also help! 🙂

      Thanks for visiting! Have a nice day! 🙂

  3. Hi Karan,

    Thank you for reply my question.
    In my case, I have lwp code and it works. I doubt if I try to implement the code from the tutorial, it will cause crash on my lwp. Is it?

    I’m totally not a programmer. So, maybe I will have many problem encountered and need your help 😀

    I’m waiting for your result on your try 😉

    See you…

    • Basically what you need is an animated image being applied to a live wallpaper right? For example, a simple GIF image applied to the live wallpaper so that it looks animated.
      Is this what you require?

  4. Yes…
    I need to apply .gif image as my lwp background.
    Problem is, I already have the lwp code and it’s hard to modify following some tutorial on the internet.
    Thank you and sorry for late reply 🙂

  5. Ehmmm…Im so sorry Karan…I have no programming skill at all so I am confusing how to run the project you were given.
    Can you please tell me how…
    But, I think it is better if I send you my code then you can tell me how to integrate the animated gif code with my lwp code because I know that we can’t modify the code by merging two project easily 😀

    Big thanks for your help 😉

    • No, you don’t need to run it. Just copy the .apk file from the bin folder of the project and transfer it to your phone. Then run the application on your phone and check. A simple transfer of files doesn’t require any programming skill! 🙂

  6. Done to run the apk.
    There is a plane moving from left-right.
    I already done to make something similar like that.
    All I want is (in this example) animated grass and clouds maybe.

    For example if I have waterfall background. I can make it animated and export it as .gif.
    I want to set it as the background.
    Then I have some butterflies image on .png format which are moving and user can interact with them.

    On this example, the background is the grass and cloud view and the item is plane. I don’t have problem how to make the plane moving.

    How can I send my code to you?
    Maybe it is easier for you to understand 🙂

  7. Hey karan i need your help…

    i want to select particular text from textview and extract that text (or copy) that text into another textview….

    plz help me……

  8. Hi, I am Nuno from Portugal, i need made an app with vitamio to play m3u8 stream, can you send me the project by email, that you teach on tutorial 92? Thanks!

  9. Hi,My name is Shazia and i need your help i an trying to make an app locker and that will open by using selected pictures as a pattern i just cant understand how to do that code please help me i am new i that

    • Hi Shazia,

      Thanks for your message. Can you tell me in detail what kind of application you want to develop. If possible, can you design the layout of the application along with the required functionality using MS Paint or some software so that I can understand.

      • sory for late reply actually i am making an app locker in android that will open using pictures instead of pattern or password i start the project but i just cant understand how to set layout that contains pictures means when i an going to open facebook or any app which is pasword protected how to display that and how to save pattern of pictures which user select as a password

  10. Hi Karan,
    I am new to android developing and i have tried to run my emulator(i am using Eclipse Luna). The emulator opens with no error but after that i can not see the menus or anything else. It just stuck on the first screen.
    Is there any other emulator i can use? or any other advice?

  11. i am new in android and try to work on multiple livewallpaper using .gif images but it doesnt work well can tell how can i use multiple ..gif images on livewallpaper..
    problem

    first .gif is set but when to choose second it changed here is my code

    package com.snowLiveWallpaper;

    import java.io.IOException;
    import java.io.InputStream;

    import android.app.WallpaperManager;
    import android.content.ComponentName;
    import android.content.Intent;
    import android.graphics.Canvas;
    import android.graphics.Movie;
    import android.os.Build;
    import android.os.Handler;
    import android.os.SystemClock;
    import android.service.wallpaper.WallpaperService;
    import android.util.Log;
    import android.view.SurfaceHolder;
    import android.widget.Toast;

    import com.newyearapp.R;

    public class MainActivity extends WallpaperService {
    static final String TAG = “NYAN”;
    static final Handler mNyanHandler = new Handler();
    private int position;
    Canvas canvas = null;
    InputStream is = null;

    @Override
    public void onCreate() {
    super.onCreate();
    }

    @Override
    public Engine onCreateEngine() {

    position = Gallery_Activity.wallpaper_position;

    try {
    return new NyanEngine();
    } catch (IOException e) {
    Log.w(TAG, “Error creating NyanEngine”, e);
    //stopSelf();
    return null;
    }
    }

    class NyanEngine extends Engine {
    private Movie mNyan;
    private int mNyanDuration;
    private Runnable mNyanNyan;
    float mScaleX;
    float mScaleY;
    int mWhen;
    long mStart;

    NyanEngine() throws IOException {
    loadGif(Gallery_Activity.wallpaper_position);

    }

    private void loadGif(int position) throws IOException {
    if (position == 0) {

    is = getResources().openRawResource(R.raw.diwali2);
    Toast.makeText(getApplicationContext(), “”+position, 1000).show();
    }
    else if (position == 1)
    {

    is = getResources().openRawResource(R.raw.diwali);
    Toast.makeText(getApplicationContext(), “”+position, 1000).show();
    }

    if (is != null)
    {
    try {
    mNyan = Movie.decodeStream(is);
    mNyanDuration = mNyan.duration();
    mWhen = -1;
    mNyanNyan = new Runnable() {
    public void run() {
    nyan();
    }
    };
    }
    finally
    {
    is.close();
    Toast.makeText(getApplicationContext(), “finally”, 1000).show();
    }
    }

    }

    @Override
    public void onDestroy() {
    super.onDestroy();
    mNyanHandler.removeCallbacks(mNyanNyan);
    try {
    loadGif(Gallery_Activity.wallpaper_position); //use sharedpreferences
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }

    @Override
    public void onVisibilityChanged(boolean visible) {
    super.onVisibilityChanged(visible);
    if (visible) {
    nyan();
    mNyanHandler.removeCallbacks(mNyanNyan);
    } else {
    mNyanHandler.removeCallbacks(mNyanNyan);
    }
    }

    @Override
    public void onSurfaceChanged(SurfaceHolder holder, int format,
    int width, int height) {
    super.onSurfaceChanged(holder, format, width, height);
    mScaleX = width / (1f * mNyan.width());
    mScaleY = height / (1f * mNyan.height());
    try {
    loadGif(Gallery_Activity.wallpaper_position);
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    nyan();
    }

    @Override
    public void onOffsetsChanged(float xOffset, float yOffset,
    float xOffsetStep, float yOffsetStep, int xPixelOffset,
    int yPixelOffset) {
    super.onOffsetsChanged(xOffset, yOffset, xOffsetStep, yOffsetStep,
    xPixelOffset, yPixelOffset);
    nyan();
    }

    void nyan() {
    tick();
    SurfaceHolder surfaceHolder = getSurfaceHolder();
    try {
    canvas = surfaceHolder.lockCanvas();
    if (canvas != null) {
    nyanNyan(canvas);
    }
    } finally {
    if (canvas != null) {
    surfaceHolder.unlockCanvasAndPost(canvas);
    }
    }
    mNyanHandler.removeCallbacks(mNyanNyan);
    if (isVisible()) {
    mNyanHandler.postDelayed(mNyanNyan, 1000L / 25L);
    }
    if (position != Gallery_Activity.wallpaper_position) {
    try {

    position = Gallery_Activity.wallpaper_position;
    loadGif(Gallery_Activity.wallpaper_position);
    } catch (IOException e) {
    e.printStackTrace();
    }

    }

    }

    void tick() {
    if (mWhen == -1L) {
    mWhen = 0;
    mStart = SystemClock.uptimeMillis();
    } else {
    long mDiff = SystemClock.uptimeMillis() – mStart;
    mWhen = (int) (mDiff % mNyanDuration);
    }
    }

    void nyanNyan(Canvas canvas) {
    canvas.save();
    canvas.scale(mScaleX, mScaleY);
    mNyan.setTime(mWhen);
    mNyan.draw(canvas, 0, 0);
    canvas.restore();
    }
    }
    }
    and this is my gallery activity

    package com.snowLiveWallpaper;

    import android.app.Activity;
    import android.content.Context;
    import android.content.res.TypedArray;
    import android.graphics.Bitmap;
    import android.graphics.BitmapFactory;
    import android.os.Build.VERSION;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.view.ViewGroup;
    import android.view.Window;
    import android.widget.AdapterView;
    import android.widget.AdapterView.OnItemClickListener;
    import android.widget.BaseAdapter;
    import android.widget.Gallery;
    import android.widget.ImageView;

    import com.newyearapp.R;

    public class Gallery_Activity extends Activity {
    static int wallpaper_position;
    ImageView iv;
    private Integer[] mImageIds = { R.drawable.image1, R.drawable.image2,
    R.drawable.image3, R.drawable.image4, R.drawable.image5,
    R.drawable.image6, R.drawable.image7, R.drawable.image8,
    R.drawable.image9, R.drawable.image10 };
    @SuppressWarnings(“deprecation”)
    Gallery gal_vi;

    @SuppressWarnings(“deprecation”)
    @Override
    public void onCreate(Bundle savedInstanceState) {
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.gallery_screen);
    gal_vi = (Gallery) findViewById(R.id.gallery_view);
    iv = (ImageView) findViewById(R.id.image_view);
    gal_vi.setAdapter(new ImageAdapter(this));
    if (Integer.parseInt(VERSION.SDK) > 3) {
    }
    try {
    gal_vi.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(
    @SuppressWarnings(“rawtypes”) AdapterView parent,
    View v, int position, long id) {
    wallpaper_position = position;
    iv.setImageResource(mImageIds[position]);
    }
    });
    } catch (Exception e) {
    Log.e(“Gallery_Activity exception”, “” + e.getMessage());
    }

    }

    public class ImageAdapter extends BaseAdapter {
    int mGalleryItemBackground;
    private Context mContext;

    public ImageAdapter(Context c) {
    mContext = c;
    TypedArray attr = mContext
    .obtainStyledAttributes(R.styleable.HelloGallery);
    mGalleryItemBackground = attr.getResourceId(
    R.styleable.HelloGallery_android_galleryItemBackground, 0);
    attr.recycle();
    }

    public int getCount() {
    return mImageIds.length;
    }

    public Object getItem(int position) {
    return position;
    }

    public long getItemId(int position) {
    return position;
    }

    public View getView(int position, View convertView, ViewGroup parent) {
    ImageView imageView = new ImageView(mContext);
    Bitmap btmp = Bitmap.createScaledBitmap(Bitmap
    .createBitmap(BitmapFactory.decodeResource(getResources(),
    mImageIds[position])), 150, 100, false);
    imageView.setImageBitmap(btmp);
    imageView.setLayoutParams(new Gallery.LayoutParams(200, 200));
    imageView.setBackgroundResource(mGalleryItemBackground);
    return imageView;
    }
    }
    }

  12. Hello. i have some problem with media player.

    Please see the question which i have asked on stackoverflow – “http://stackoverflow.com/questions/27981947/media-file-is-played-and-overlay-when-i-selected-item”

    Help me in this.

    Thanks

  13. Hi,

    While using the Global variables in password field in dataserver connection in ODI12c, I am facing “invalid ORA-01017: invalid username/password; logon denied”.

    If I hardcode the password the connection works fine. If I use Global variables in User field even then it works fine. But with #GLOBAL. in Password field , the connection fails and works only with the hardcoded password value.

    All was working fine in ODI 11g. After importing code from ODI 11g to ODI 12c, I am not able to execute with global variables in password fields.

    Please kindly help with this issue.

  14. Hello Karan –

    Can you return multiple rows from Table1 that match a single row in Table2 using join or lookup in ODI 11.1.1.6. In other words return multiple students from Table that are taking a course of study in Table2 ??

    Thank-you, Dave.

  15. Hi,
    My name is Suresh and I am contacting you from Amallu.com based in New York City. This is a very new website that is still not live and is in the development phase. The main objective of this site is to display various RTMP links in a player that users can log in and watch for free while interacting with their network of friends. It is a fusion of watching TV and social media and our team is very excited about this venture.

    We currently need your expertise in developing an Android app for this website. We noticed that you have worked with Vitamio library and we would like to discuss if you are interested in joining our team on a part time basis? Please email me your contact details and let us know a good time to discuss further.

  16. Hi Karan.
    Am working on image encryption techniques. I have developed a new technique based no permutation, now I have to analyze that by comparing with the AES. I have run the AES code which uses the JCE. But the encrypted image cannot be viewed! It just don’t show up, but there’s file on disk. I hope you can understand what am talking about.
    Now hoe to get a viewable encrypted image?

  17. I wanted to have ODI agent to support both oracle and mysql at same time [without using weblogic, using odiparams.sh and start the agent with port].

    Can you please let us know if we can specify both oracle and mysql drivers in odiparams?

    Please let me know if the information i provided is clear.

  18. I am totally new and raw to android apps development. Should I start with android sdk and eclipse or with android studio itself ? Seek guidance.
    Sankaran.

  19. hello sir.. i want to develop an application for live video streaming from my android devices to all other client devices.. what is the process for to create project.. can you help me in detail… because i am in android technology…

  20. Hello karan , I want to make one application like bar code scanning,So i tried Your tutorial but it gets error in
    EmailAddressResultHandler class like “The method getTos() is undefined for the type EmailAddressParsedResult “. So plz help me.

    Thanks in advance

  21. Is it to recommended to use handler in IntentService.?
    Becouse in IntentService through calling of onHandleIntent() seprate worker thread used to create.

  22. Concerning Tutorial #76: I keep seeing plenty of Java code for encryption and decryption of text using the JCE. There is one problem with all the examples I see: they all show encryption and immediate decryption in the same application. This would not be a problem (it is great for illustrating the encrypt/decrypt operations), except that when these examples use salts (like Tutorial #76 does), they give no idea what to do with the salts once the encryption is complete.

    Suppose someone has a key based on a salt created in one application, then uses another application to decrypt. Without the correct salt the decryption does not work! This would indicate that a user entering a password would also have to know the salt in order to decrypt the data. This is not something I would like some non- techie to have to do in order to (for example) decrypt email in an email client!

    What is needed is an example of how to deal with salts when doing encryption/decryption in a practical application. The examples currently available are nice illustrations of how to use the JCE with maximum security (salts are excellent security enhancements), but frankly they are not really very useful for practical applications.

    • Hi Robert,

      Yes I agree with your point. This is not a very practical example. I have written this for those you need to try out encryption and decryption in a quick and dirty way. It is definitely not an efficient solution.

  23. Very nice tutorial but there should be context of every tutorial so that every one can easily find their desired tutorial.
    So i suggest you that mention the names of tutorial in dashboard instead of date because users have concern with names of tutorial not with date.

  24. Hi Karan,
    Trust you are doing good. After going through yu post on CDC process through ODI. I was trying to implement the same. But I am getting the below error at the time of starting Journal(mainly while trying to create the journal view JV$.)

    2016-12-08 12:03:59.879 WARNING ODI-1134 Agent Internal encountered an error: ODI-1226: Step REGIONS fails after 1 attempt(s).
    2016-12-08 12:03:59.881 ERROR ODI-1217 Session REGIONS (13001) fails with return code 1031.
    2016-12-08 12:03:59.903 ERROR ODI-1134 Agent encountered an error: ODI-1217: Session REGIONS (13001) fails with return code 1031. Caused by: ODI-1226: Step REGIONS fails after 1 attempt(s).

    Appreciate your help on this. Thanks Ranjan.

  25. Hi Karan,

    Very informative blog.Keep Rocking Bro.

    I have a small doubt.

    I am passing values from one activity to another activity thru json. String values i am able to receive in the next activity. But when i am trying to send image. i have no idea about this. Meanwhile all are dynamic values from array.
    Sending like the following:
    jsonobj.put(“Location”, “Chennai”);
    jsonobj.put(“Name”, “test1”);

    Receving like the following:
    location = MainActivity.jsonobj.getString(“Location”);
    name =MainActivity.jsonobj.getString(“Name”);

    Please help me how to send image dynamically and display in the next activity

Leave a Reply

Your email address will not be published. Required fields are marked *