http://stackoverflow.com/questions/6277584/android-honeycomb-networkonmainthreadexception-even-when-using-asynctask-and-no

android의 보안 모드 상태일 경우 그를 해지시켜주도록 해야 하는데 기본적으로 AndroidManifest.xml에 

<uses-permission android:name="android.permission.INTERNET"/>

를 기입해주면 네트워크 허용상태가 되나 (이유는 아직 모르겠으나)추가 적으로 StrictMode라는 경고창과 함꼐 보안에 걸리는데 이떄는 setContentView() 하단에 

StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); 
StrictMode.setThreadPolicy(policy);
와 같이 기입해주면 된다. 이때, 두줄 주제에 많은 빨간줄이 그어지는데.. StrictMode의 경우는 Class를 Import시켜주면 되고 나머지는 경우에따라 특정 OS만 허용하게 class상단에 @TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)와 같이 걸어주거나 전체 적용할 경우는 빨간 줄 중 하나를 클릭한 후 F2(MAC의 경우)를 누르고 Disable Check를 눌러주면 된다.

http://blog.naver.com/PostView.nhn?blogId=dimigozzang&logNo=110140580636
이 와중에 그와 관계없이 다양한 Error가 떠주시는데 특히 "FATAL EXCEPTION: main" Error의 경우는 바로 아래 라인에 Error가 발생한 object의 정보가 기입되어 있으므로 그것을 보고 수정해주면 된다.
또한, 이 Error는 주로 
1. 엑티비티 이름을 메니페스트xml 파일에 등록하지 않았거나 오타가 있다 - 엑티비티를 여러개 작성하는 경우가 아니라면 발생하는 경우는 적습니다. 그렇지만 확인해 보아야 하는 것입니다. 
2. 콤퍼넌트가 실질적으로 xml화면에 등록은 시켰지만, R.java 파일에 등록되지 않았거나, 등록되었어도 컴파일되지 못했다
이와 같은 경우에 주로 뜨므로 참고해 둘 것.

url을 통해 image를 load할 경우는 URL class를 이용한다.
URL의 openconnection() method로 여결 시 data값을 return값으로 나오므로 이 값을 getInputStream() method로 받아서 
Data값을 bitmap type의 Image로 변환시키는 BitmapFactory.decodeStream()의 parameter로 넣고 결과 값을 Bitmap Class 변수로 받아 사용하면 된다.
위 내용을 source code로 변환하면 아래와 같다.
Ex)
URL url = new URL("http://image10.bizrate-images.com/resize?sq=60&uid=2216744464");
Bitmap bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream());
imageView.setImageBitmap(bmp);

'PHP > php_mysql연동' 카테고리의 다른 글

PHP 메모리 부족 134217728  (2) 2013.07.03
PHP로 Mysql 연동(1)  (0) 2013.07.03
mysql_fetch_assoc 와 mysql_fetch_array의 차이점  (0) 2013.07.02

PHP 메모리 부족

Jmnote
PHP 메모리 부족
Fatal error: Allowed memory size of 134217728 bytes exhausted
memory exhausted in ofc_scatter.php
Open Flash Chart 2 메모리 부족

목차

 [숨기기

문제 상황

  • PHP의 메모리 제한 기본값은 128MB[1]이다.
  • 데이터가 너무너무 많을 경우 PHP에서 다음과 같이 메모리 부족 메시지가 발생하더라.

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 32 bytes) in /var/www/html/open-flash-chart/php-ofc-library/ofc_scatter.php on line 5

설정값 확인

[root@jmnote ~]# cat /etc/php.ini | grep memory_limit
memory_limit = 128M

조치방법 1 (PHP 소스)

PHP 소스에서 아래 명령어를 수행하면 그 PHP 페이지 실행에 한하여 메모리 제한이 변경된다.

  • 메모리 제한 늘리기
ini_set('memory_limit','192M');
  • 메모리 제한 풀기
ini_set('memory_limit','-1');

조치방법 2 (PHP 설정)

PHP 설정파일에서 메모리 제한 수정하기. 모든 PHP 파일에 적용되며, 적용시 아파치 재시작이 필요하다.

vi /etc/php.ini

memory_limit를 찾아 파라미터를 적절한 값으로 수정하고 저장한다. 수정된 php.ini가 적용되려면 httpd 재시작이 필요하다.

service httpd restart

같이 보기

주석

  1. 128\times1024^2=134217728

'PHP > php_mysql연동' 카테고리의 다른 글

network연결하여 Image 불러오기  (0) 2013.07.04
PHP로 Mysql 연동(1)  (0) 2013.07.03
mysql_fetch_assoc 와 mysql_fetch_array의 차이점  (0) 2013.07.02
  •  mysql 쿼리 작성

 

  •  php 작성

  • android 소스 작성

 

 

 

 

 

# [PHP] mysql_fetch_assoc 와 mysql_fetch_array의 차이점

두 함수는 데이터 값을 연관배열을 써서 가져오는 함수이다.

둘다 기능이 비슷하지만 약간의 차이가있다.

차이점은 print_r해보면 알 수있다.


1. mysql_fetch_assoc의 경우 print_r하면 키값에 데이터값을 가지고있다.

ex) 필드명 => 데이터값

2. mysql_fetch_array는 숫자형키값에 데이터값을 가지고있다.

ex) 0 => 데이터값


여기서 연관배열이란 키값을 가지고 있는 배열이라고 하여 다차원 배열이라고 보면된다.


참고사이트 :

- phpstorm (http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_function&wr_id=304539)

=====좀더 상세한 설명^^==========================

mysql_fetch_array(), mysql_fetch_assoc() 는 DB에서 가져온 내용의 값을 배열변수에 대입하는 역할

mysql_fetch_array() 는 위에서 작성한 것과 같이,

$row[0], $row[1], $row[2], $row[3] .......
$row[no], $row[title], $row[content], $row[regdate] .......

이 두 문법으로 어떤 것이든 사용가능하다. 허나 [1], [2] 형식으로 사용하기엔
테이블의 정보가 머리속에 꿰차고 있지 않는 이상, 간단한 COUNT() 함수나 as 문으로 가져온 내용만 사용하게 됨

즉, 쉽게 설명 하자면 서버 메모리에 같은 value값의 배열변수가 두개씩 저장이 된다는 점.

mysql_fetch_assoc() 는 [1][2][3] 형식의 키값은 저장이 안되고 오직
테이블의 필드명으로 저장, [no][title][content] 값들만 저장됨.
서버에 부하를 덜어주는 중요한 함수

'PHP > php_mysql연동' 카테고리의 다른 글

network연결하여 Image 불러오기  (0) 2013.07.04
PHP 메모리 부족 134217728  (2) 2013.07.03
PHP로 Mysql 연동(1)  (0) 2013.07.03

+ Recent posts