I'm a first time using Ionic 3 framework to create cross-mobile native application.
I had some problem when I test program with devApp application.
On browser it runs well, but on mobile shows error:
Unable to load page. The request time out.
Does somebody know how to solve this problem?
This could be triggered by so many reasons like bad code, network issues and so on
So I suggest you to:
Close your Devapp completly
Disconnect from Wifi
Close App in your browser
do a fresh new ionic serve -c
Start DevApp again
Connect to Wifi again
Start your App on Device
If this doesnt work you need to show us your code from app.component.ts and index.html and also your ionic info
Ionic devApp connects to your app using device internal ip on the same router. It might change everytime you connect.
Find the internal ip (ubuntu: ifconfig -a) and manually enter the ip and port using the option manually enter address in the sidebar.
Related
Hy, I use use Bluestacks version 2. Because my pc is low-end PC. I also try to use Bluestacks ve4rsion 4 & 5 but at the end it get stuck when loading. So I leave to use it. Then I try to use Bluestacks version 2. It works smoothly but I face a problem. Only specific app internet connection works like - Google play store and Browser but when I try to use external app or google play store app when I need to use internet connection on the app but the internet connection not work. On the other hand, Browser or Google play store net connection still work fine. Please someone help me to solve this.
I am struggling to make HTTP native or HttpClient get to work for my app.
If I run ionic serve -c I get HttpClient working good on my browser at localhost:8100 and in Ionic Dev App. If I build for Android though, HttpClient fails thus I decided to give HTTP Native a try.
Then I don't understand how I could get some console log if that native plugin is not supported from Ionic Dev App (here says), neither I can see on my browser cause of Cordova is not present.
Is there a way to log on a device to debug HTTP Native?
You should debug your application connect your phone to your laptop and
Open your Google Chrome Browser
Go to Inspect (Ctrl + Shift +I)
Go To More Tools enter image description here
Open Remote devices and inspect your device
For more information click here
Thanks
You wont see native http calls log to the browser since they are called native from the device and never are called from the browser, but if you are debugging while connected to xcode, the xcode debugging output should give some information about your native HTTP calls success and failure.
Following #vd_virani answer, here is a quick link to inspect a device from Chrome
chrome://inspect/#devices
Plug your device via USB, then copy & paste this link in your Chrome address bar like a website.
I like to use ionic servecommand for quick changes I know nothing better than actual device for developing. But I would really like to use just the on-screen device keyboard instead of my computers hardware keyboard, is this possible? I searched in ionic forums and online with no success.
It is not possible, but other option is to use this command (change platform according to your requirement) : ionic run android -l -c
This will run application in you mobile but same like ionic serve, any change on your computer will refresh application in your device.For this your mobile and computer should be on same network. Plus keep mobile connected through usb port while you are running application on mobile. Because all resources are served from computer.
See this answer for more detailed version.
Here is documentation link to live reload app feature of ionic cli.
While working with my app that require network access...
The Android 2.2 emulator's network connection stop working...
The net was working properly but after some time it did not respond on emulator,
while it was working f9 on my system...
I have cross checked the net connections and restarted with the emulator(even created a new avd ). But the problem remains same my net is not working on emulator..
I have also checked the connection with F8 key on emulator...
My app manifest net permission is enabled....
Finally After all I have myself found the solution of to the problem:
It's very common problem that must have been faced by most of android developers....
Recently, while developing an Android Application, I was faced with a situation that wasted 2 hours of my time. The issue was simple, my app was not able to access internet from the Android Emulator.
Initially I thought fixing the issue should have been straight forward, but life is not always that simple.
So what was the real issue because of which my app was not able to access internet? There are multiple reasons because of which this issue could occur. Hence, I decided to document my findings so that other could benefit from it.
There are two main symptoms of no internet connection on android emulator.....
**Only your app is not able to access the internet
**None of the apps are able to access the internet
Lets look at what are the reasons behind each of them.
Only your app is not able to access the internet
If only your app is not able to access the internet on the emulator, check if any other apps are able to access the internet or not. For e.g. you could open up the browser application, visit http://news.google.com/. If the page opens up correctly then problem lies in your app itself and its simple to fix.
Basically, your app needs the Permission to access the internet. This can be done by adding the following line just before the end of tag in AndroidManifest.xml file of your application.
Compile and re-install the app in the emulator and try to access the internet from your app. It should work!
What is the use of uses-permission tag:
Android application can request certain permissions so that they can function properly. Some examples of permissions are, get users location, make a call, access the internet etc. App has to explicitly specify this in the AndroidManifest.xml.
When end users install such an app on their device, the android OS will notify the user that, app is requesting certain permissions. If users are fine with that, then only the app will be installed. Else users can deny the permission and the app will not be installed.
This mechanism is Androids way of implementing security and users privacy!
This is the more tricky situation:
None of the apps are able to access the internet
Now this situation is tricky. There are two reasons because of which this could happen
Proxy server is not configured on the emulator
Incorrect DNS used by the emulator
Setting Up the DNS Server:
emulator.exe -avd 'android1.6' -dns-server 8.8.8.8
The android1.6 is your avd name I created an avd with name android1.6
So just replace android1.6 with your avd name.
Run this code in command prompt after setting the path to tools & platform tools of your android sdk
I have created a web application using the Google Web Toolkit that is able to receive some data by a mobile client via Http Post. The transmission of the data works well and also the server / client communication using GWT RPC is no problem at all.
However, I need to debug the webserver when receiving data from the mobile device. As I am using Hibernate and MySQL within the web application I do not use the Google App Engine. So if I deploy the web application in local host mode it is only accessible on the localhost:8888.
Now, if I send data from the mobile phone, I have to send it to the locally assign IP address as the localhost of the mobile phone emulator is not the localhost of the computer, where the web application is running. To ensure that everything works, I tried to do some posts outside the emulator (on the machine the emulator is running on). This works, but how can I post from the emulator to my web application?
How can I get access to debug my system? I've already tried to deploy the final application to a tomcat server and use remote debugging, but that fails too.
Best regards,
Florian
Well if I understand your question correctly, the real problem isn't debugging the app on the servlet, the real problem that you're looking at is debugging from a mobile phone. When the mobile phone hits your local network (I'm guessing you're pointing at 192.168..?) you are accessing the compiled GWT code that does not communicate with the debugger.
Put another way, when you debug locally using a browser, you are actually not running compiled GWT code, but instrumented code that is executed with the GWT Debugging Plugin, that happens to work exactly like compiled GWT code. (mostly). So while your local version has "?gwt.codesvr=127.0.0.1:9997" or the like, your mobile phone version cannot do the same, and cannot thus communicate with the debugger.
The best that I've been able to do is to use logging extensively. If you're using an iOS device and change the settings are your safari, it can output logs for you from mobile safari. Also, if you're using the Android debugger with a WebView app, you can attach a listener for log messages and then ferry them on to the ADB and view those in Eclipse. Definitely not as good as a debugger, but that's the best I've come up with so far, and if anyone has a better solution I would love to know it :)
Hope that helps!