I am developing some kind of app for android but dont know how to get data for the numbers that the called number is local or STD.
i.e.From Where the applications like Mobile Number Checker gets data from? https://play.google.com/store/apps/details?id=com.cliqs.mobilelocator&hl=en
Note: I am talking in respect to Mobile number, not the landline/fixedline numbers.
See the link for ISD determination.
Below answer is for Local and STD calls in India.
Suppose, you know to which State(Telecom Circles) the outgoing call is going. Then you just need to check if your Local-State(Telecom Circles) is same as Outgoing-call-State(Telecom Circles) or not. If it is same, then local call else STD calls.
Now, the problem boils down to, how to find the State(Telecom Circles) of an outgoing-calls.
This can be easily done for Landline phones where we specifically put STD codes. See the link for state and there STD codes.
Interestingly, mobile phones also follow something very similar. First 4 digits of a mobile number tells that. For e.g suppose the number is 9999xxxxxx, then this number is from Delhi - Vodafone. See the wikipedia link for complete mobile phones first 4 digit details.
The number you get is of type string. So you can get the first few digits of the number and query it with a database containing std codes (if there is one). Good Luck!